# pylint: disable=wildcard-import, unused-wildcard-import import os from oscar.defaults import * # noqa # Path helper location = lambda x: os.path.join(os.path.dirname(os.path.realpath(__file__)), x) ALLOWED_HOSTS = ["test", ".oscarcommerce.com"] DATABASES = { "default": { "ENGINE": os.environ.get("DATABASE_ENGINE", "django.db.backends.postgresql"), "NAME": os.environ.get("DATABASE_NAME", "oscar"), "USER": os.environ.get("DATABASE_USER", None), "PASSWORD": os.environ.get("DATABASE_PASSWORD", None), "HOST": os.environ.get("DATABASE_HOST", ""), "PORT": os.environ.get("DATABASE_PORT", 5432), } } INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.staticfiles", "django.contrib.sites", "django.contrib.flatpages", "oscar.config.Shop", "oscar.apps.analytics.apps.AnalyticsConfig", "oscar.apps.checkout.apps.CheckoutConfig", "oscar.apps.address.apps.AddressConfig", "oscar.apps.shipping.apps.ShippingConfig", "oscar.apps.catalogue.apps.CatalogueConfig", "oscar.apps.catalogue.reviews.apps.CatalogueReviewsConfig", "oscar.apps.communication.apps.CommunicationConfig", "oscar.apps.partner.apps.PartnerConfig", "oscar.apps.basket.apps.BasketConfig", "oscar.apps.payment.apps.PaymentConfig", "oscar.apps.offer.apps.OfferConfig", "oscar.apps.order.apps.OrderConfig", "oscar.apps.customer.apps.CustomerConfig", "oscar.apps.search.apps.SearchConfig", "oscar.apps.voucher.apps.VoucherConfig", "oscar.apps.wishlists.apps.WishlistsConfig", "oscar.apps.dashboard.apps.DashboardConfig", "oscar.apps.dashboard.reports.apps.ReportsDashboardConfig", "oscar.apps.dashboard.users.apps.UsersDashboardConfig", "oscar.apps.dashboard.orders.apps.OrdersDashboardConfig", "oscar.apps.dashboard.catalogue.apps.CatalogueDashboardConfig", "oscar.apps.dashboard.offers.apps.OffersDashboardConfig", "oscar.apps.dashboard.partners.apps.PartnersDashboardConfig", "oscar.apps.dashboard.pages.apps.PagesDashboardConfig", "oscar.apps.dashboard.ranges.apps.RangesDashboardConfig", "oscar.apps.dashboard.reviews.apps.ReviewsDashboardConfig", "oscar.apps.dashboard.vouchers.apps.VouchersDashboardConfig", "oscar.apps.dashboard.communications.apps.CommunicationsDashboardConfig", "oscar.apps.dashboard.shipping.apps.ShippingDashboardConfig", # 3rd-party apps that oscar depends on "widget_tweaks", "haystack", "treebeard", "sorl.thumbnail", "easy_thumbnails", "django_tables2", # Contains models we need for testing "tests._site.model_tests_app", "tests._site.myauth", ] # Use a custom partner app to test overriding models. I can't find a way of # doing this on a per-test basis, so I'm using a global change. partner_app_idx = INSTALLED_APPS.index("oscar.apps.partner.apps.PartnerConfig") INSTALLED_APPS[partner_app_idx] = "tests._site.apps.partner.apps.PartnerConfig" customer_app_idx = INSTALLED_APPS.index("oscar.apps.customer.apps.CustomerConfig") INSTALLED_APPS[customer_app_idx] = "tests._site.apps.customer.apps.CustomerConfig" catalogue_app_idx = INSTALLED_APPS.index("oscar.apps.catalogue.apps.CatalogueConfig") INSTALLED_APPS[catalogue_app_idx] = "tests._site.apps.catalogue.apps.CatalogueConfig" dashboard_app_idx = INSTALLED_APPS.index("oscar.apps.dashboard.apps.DashboardConfig") INSTALLED_APPS[dashboard_app_idx] = "tests._site.apps.dashboard.apps.DashboardConfig" checkout_app_idx = INSTALLED_APPS.index("oscar.apps.checkout.apps.CheckoutConfig") INSTALLED_APPS[checkout_app_idx] = "tests._site.apps.checkout.apps.CheckoutConfig" AUTH_USER_MODEL = "myauth.User" TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [ location("_site/templates"), ], "OPTIONS": { "loaders": [ ( "django.template.loaders.cached.Loader", [ "django.template.loaders.filesystem.Loader", "django.template.loaders.app_directories.Loader", ], ), ], "context_processors": [ "django.contrib.auth.context_processors.auth", "django.template.context_processors.request", "django.template.context_processors.debug", "django.template.context_processors.i18n", "django.template.context_processors.media", "django.template.context_processors.static", "django.contrib.messages.context_processors.messages", "oscar.apps.search.context_processors.search_form", "oscar.apps.communication.notifications.context_processors.notifications", "oscar.apps.checkout.context_processors.checkout", "oscar.core.context_processors.metadata", ], }, } ] MIDDLEWARE = [ "django.middleware.common.CommonMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "oscar.apps.basket.middleware.BasketMiddleware", ] AUTHENTICATION_BACKENDS = ( "oscar.apps.customer.auth_backends.EmailBackend", "django.contrib.auth.backends.ModelBackend", ) AUTH_PASSWORD_VALIDATORS = [ { "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", "OPTIONS": { "min_length": 6, }, }, { "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", }, ] HAYSTACK_CONNECTIONS = { "default": {"ENGINE": "haystack.backends.simple_backend.SimpleEngine"} } PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] ROOT_URLCONF = "tests._site.urls" LOGIN_REDIRECT_URL = "/accounts/" STATIC_URL = "/static/" STATIC_ROOT = location("public/static") MEDIA_URL = "/media/" PUBLIC_ROOT = location("public") MEDIA_ROOT = os.path.join(PUBLIC_ROOT, "media") DEBUG = False SITE_ID = 1 USE_TZ = 1 APPEND_SLASH = True DDF_DEFAULT_DATA_FIXTURE = "tests.dynamic_fixtures.OscarDynamicDataFixtureClass" SESSION_SERIALIZER = "django.contrib.sessions.serializers.JSONSerializer" LANGUAGE_CODE = "en-gb" OSCAR_INITIAL_ORDER_STATUS = "A" OSCAR_ORDER_STATUS_PIPELINE = {"A": ("B",), "B": ()} OSCAR_INITIAL_LINE_STATUS = "a" OSCAR_LINE_STATUS_PIPELINE = {"a": ("b",), "b": ()} SECRET_KEY = "notverysecret" TEST_RUNNER = "django.test.runner.DiscoverRunner" FIXTURE_DIRS = [location("unit/fixtures")]