Coverage for src/mesh/tests/settings.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.9.0, created at 2026-02-04 09:42 +0000

1import os 

2 

3import ptf 

4 

5BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

6ptf_app_dir = os.path.dirname(os.path.dirname(os.path.abspath(ptf.__file__))) 

7RESOURCES_ROOT = "/mesh_test_data" 

8MESH_FILES_DIRECTORY = "/tmp/MESH" 

9 

10ROOT_URLCONF = "mesh.tests.urls" 

11LOGIN_REDIRECT_URL = "mesh:home" 

12 

13INSTALLED_APPS = [ 

14 "django.contrib.admin", 

15 "django.contrib.auth", 

16 "django.contrib.contenttypes", 

17 "django.contrib.sessions", 

18 "django.contrib.messages", 

19 "django.contrib.staticfiles", 

20 "django.contrib.sites", 

21 "django_extensions", 

22 "ptf", 

23 "mesh", 

24 "allauth", 

25 "allauth.account", 

26 "allauth.socialaccount", 

27] 

28 

29MIDDLEWARE = [ 

30 "django.middleware.security.SecurityMiddleware", 

31 "django.contrib.sessions.middleware.SessionMiddleware", 

32 "django.middleware.locale.LocaleMiddleware", 

33 "django.middleware.common.CommonMiddleware", 

34 "django.middleware.csrf.CsrfViewMiddleware", 

35 "django.contrib.auth.middleware.AuthenticationMiddleware", 

36 "django.contrib.messages.middleware.MessageMiddleware", 

37 "mesh.views.middleware.ImpersonateMiddleware", # ImpersonateMiddleware must be placed after all authentication middlewares. 

38 "django.middleware.clickjacking.XFrameOptionsMiddleware", 

39 "allauth.account.middleware.AccountMiddleware", 

40] 

41 

42TEMPLATES = [ 

43 { 

44 "BACKEND": "django.template.backends.django.DjangoTemplates", 

45 "DIRS": [ 

46 f"{BASE_DIR}/mesh/templates", 

47 f"{ptf_app_dir}/ptf/templates", 

48 BASE_DIR, 

49 ], 

50 "APP_DIRS": True, 

51 "OPTIONS": { 

52 "context_processors": [ 

53 "django.template.context_processors.debug", 

54 "django.template.context_processors.request", 

55 "django.contrib.auth.context_processors.auth", 

56 "django.contrib.messages.context_processors.messages", 

57 ], 

58 }, 

59 }, 

60] 

61 

62ALLOWED_HOSTS = ["*"] 

63SECRET_KEY = "change me" 

64 

65DEBUG = True 

66 

67DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3"}} 

68 

69EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" 

70DEFAULT_FROM_EMAIL = "no_reply@listes.mathdoc.fr" 

71MESH_JOURNAL_EMAIL_CONTACT = "contact@journal.fr" 

72 

73SENDFILE_BACKEND = "django_sendfile.backends.development" 

74 

75COLLECTION_PID = "ALL" 

76SITE_NAME = "MESH Site" 

77SITE_ID = 1 

78MESH_COLID = "MESH" 

79SITE_DOMAIN = "MESH domain" 

80 

81AUTH_PASSWORD_VALIDATORS = [ 

82 { 

83 "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", 

84 }, 

85 { 

86 "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", 

87 "OPTIONS": {"min_length": 9}, 

88 }, 

89 { 

90 "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", 

91 }, 

92 { 

93 "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", 

94 }, 

95] 

96 

97AUTH_USER_MODEL = "mesh.User"