autograder.testing.constants

 1import os
 2
 3import edq.util.gzip
 4import edq.util.encoding
 5import edq.util.time
 6
 7THIS_DIR: str = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
 8ROOT_DIR: str = os.path.join(THIS_DIR, '..', '..')
 9TESTDATA_DIR: str = os.path.join(ROOT_DIR, 'testdata')
10
11NOCOMPILE_PYTHON_PATH: str = os.path.join(THIS_DIR, '..', 'testdata', 'submission', 'nocompile', 'submission.py')
12
13SUBMODULE_TESTDATA_DIR: str = os.path.join(TESTDATA_DIR, 'autograder-testdata')
14SUBMODULE_SERVER_DIR: str = os.path.join(SUBMODULE_TESTDATA_DIR, 'autograder-server')
15SUBMODULE_SERVER_TESTDATA_DIR: str = os.path.join(SUBMODULE_SERVER_DIR, 'testdata')
16
17SUBMODULE_SERVER_USERS_PATH: str = os.path.join(SUBMODULE_SERVER_TESTDATA_DIR, 'users.json')
18COURSE_101_DIR: str = os.path.join(SUBMODULE_SERVER_DIR, SUBMODULE_SERVER_TESTDATA_DIR, 'course101')
19COURSE_LANGUAGES_DIR: str = os.path.join(SUBMODULE_SERVER_DIR, SUBMODULE_SERVER_TESTDATA_DIR, 'course-languages')
20
21COURSE_101_CONFIG_FILE: str = os.path.join(COURSE_101_DIR, 'course.json')
22COURSE_LANGUAGES_CONFIG_FILE: str = os.path.join(COURSE_LANGUAGES_DIR, 'course.json')
23
24TEST_SUBMISSIONS_BASH_DIR: str = os.path.join(COURSE_LANGUAGES_DIR, 'bash', 'test-submissions')
25TEST_SUBMISSIONS_BASH_SOLUTION_PATH: str = os.path.join(TEST_SUBMISSIONS_BASH_DIR, 'solution', 'assignment.sh')
26TEST_SUBMISSIONS_BASH_NI_PATH: str = os.path.join(TEST_SUBMISSIONS_BASH_DIR, 'not-implemented', 'assignment.sh')
27TEST_SUBMISSIONS_BASH_BAD_PATH: str = os.path.join(TEST_SUBMISSIONS_BASH_DIR, 'solution', 'test-submission.json')
28TEST_SUBMISSIONS_BASH_CRASH_PATH: str = os.path.join(TEST_SUBMISSIONS_BASH_DIR, 'crash', 'assignment.sh')
29
30COURSE_101_ZIP_PATH: str = os.path.join(TESTDATA_DIR, 'data', 'course101.zip')
31
32TEST_TIMESTAMP: edq.util.time.Timestamp = edq.util.time.Timestamp(123456789)
33
34TEST_PAYLOAD_STR: str = "Hello, World!\n"
35TEST_PAYLOAD_BYTES: bytes = TEST_PAYLOAD_STR.encode(edq.util.dirent.DEFAULT_ENCODING)
36TEST_PAYLOAD_GZIP_BYTES: bytes = edq.util.gzip.compress(TEST_PAYLOAD_BYTES)
37TEST_PAYLOAD_B64_GZIP_BYTES: str = edq.util.encoding.to_base64(TEST_PAYLOAD_GZIP_BYTES)
38
39TEST_BASE_VERSION: str = '1.2.3'
40TEST_GIT_HASH: str = 'abcd1234'
41TEST_IS_DIRTY: bool = False
42
43TEST_TOKEN_CLEARTEXT: str = 'test-token-cleartext'
44TEST_TOKEN_ID: str = 'test-token-id'
45
46TEST_CRASH_EPILOGUE: str = ("Submission could not be graded because of the following error:"
47        + "\n<TESTING STACK TRACE>"
48        + "\nModuleNotFoundError: No module named 'ZZZ'")
THIS_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing'
ROOT_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../..'
TESTDATA_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata'
NOCOMPILE_PYTHON_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../testdata/submission/nocompile/submission.py'
SUBMODULE_TESTDATA_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata'
SUBMODULE_SERVER_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server'
SUBMODULE_SERVER_TESTDATA_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata'
SUBMODULE_SERVER_USERS_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/users.json'
COURSE_101_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course101'
COURSE_LANGUAGES_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages'
COURSE_101_CONFIG_FILE: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course101/course.json'
COURSE_LANGUAGES_CONFIG_FILE: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/course.json'
TEST_SUBMISSIONS_BASH_DIR: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/bash/test-submissions'
TEST_SUBMISSIONS_BASH_SOLUTION_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/bash/test-submissions/solution/assignment.sh'
TEST_SUBMISSIONS_BASH_NI_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/bash/test-submissions/not-implemented/assignment.sh'
TEST_SUBMISSIONS_BASH_BAD_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/bash/test-submissions/solution/test-submission.json'
TEST_SUBMISSIONS_BASH_CRASH_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/autograder-testdata/autograder-server/testdata/course-languages/bash/test-submissions/crash/assignment.sh'
COURSE_101_ZIP_PATH: str = '/home/runner/work/autograder-py/autograder-py/autograder/testing/../../testdata/data/course101.zip'
TEST_TIMESTAMP: edq.util.time.Timestamp = 123456789
TEST_PAYLOAD_STR: str = 'Hello, World!\n'
TEST_PAYLOAD_BYTES: bytes = b'Hello, World!\n'
TEST_PAYLOAD_GZIP_BYTES: bytes = b'\x1f\x8b\x08\x00\xa5\xceWj\x02\xff\xf3H\xcd\xc9\xc9\xd7Q\x08\xcf/\xcaIQ\xe4\x02\x00\x84\x9e\xe8\xb4\x0e\x00\x00\x00'
TEST_PAYLOAD_B64_GZIP_BYTES: str = 'H4sIAKXOV2oC//NIzcnJ11EIzy/KSVHkAgCEnui0DgAAAA=='
TEST_BASE_VERSION: str = '1.2.3'
TEST_GIT_HASH: str = 'abcd1234'
TEST_IS_DIRTY: bool = False
TEST_TOKEN_CLEARTEXT: str = 'test-token-cleartext'
TEST_TOKEN_ID: str = 'test-token-id'
TEST_CRASH_EPILOGUE: str = "Submission could not be graded because of the following error:\n<TESTING STACK TRACE>\nModuleNotFoundError: No module named 'ZZZ'"