Loading .gitlab-ci.yml 0 → 100644 +27 −0 Original line number Diff line number Diff line # This file is a template, and might need editing before it works on your project. # Official framework image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python image: python:latest # This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache cache: paths: - ~/.cache/pip/ stages: - build build: stage: build tags: - shared-fi before_script: - python -V # Print out python version for debugging - pip install pipenv script: - pipenv install --dev - pipenv run coverage run -m pytest Pipfile +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ flask-cors = "*" [dev-packages] pytest-cov = "*" [requires] Loading Pipfile.lock +31 −36 Original line number Diff line number Diff line Loading @@ -52,10 +52,10 @@ }, "certifi": { "hashes": [ "sha256:14131608ad2fd56836d33a71ee60fa1c82bc9d2c8d98b7bdbc631fe1b3cd1296", "sha256:edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d" "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0", "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7" ], "version": "==2018.1.18" "version": "==2018.4.16" }, "cffi": { "hashes": [ Loading Loading @@ -114,25 +114,25 @@ }, "cryptography": { "hashes": [ "sha256:9f2d66952fc55f13f9c62ea6ae6ff88c2f9c2c21533065e1f7bddf0cf33c4cb9", "sha256:0f61273eccc681dc5a77dcd517cc2cb74078d1b00adb2b273d0a010153ae43c7", "sha256:469a72fda257b2179bb43e431b822d8087da53b40e68813bcfa54a16c3ebcdfe", "sha256:39532ae44154ce88eec25d2a361e9c285b2477e0a4b4fc61fb9d4bcb3804dec6", "sha256:e42b290eb7804d82c6d614b55e3b726dee464099a0e6240175f8d7b682b9295d", "sha256:c27ed8b01d5feeff8479384ed782bad1e5071563f47194703f0dc20c1b558503", "sha256:34a433c3783946106236c25a89e0c271a3bb1a8e8cd8f12782e8bf8bec4e351e", "sha256:27dd18e180608c512433c843ad2d62396399608a0f3603c4d805500caeeec3d6", "sha256:2c5265c622e02af289bdc5e96c0a572bffa2fc2ac3f86fac3bace632ab25888c", "sha256:54029ce210d3013dccced6478f4dfb25e7a409e13086f714be9c14489c64e2c7", "sha256:8ce363eed7ccc70f53be6ea4200aa20bbff99c8cbfce21a904f98e76c2bf5887", "sha256:2893ee1d67dace6178732c9ea8c176fedf5b6a6463f72f1378b779cdba8a0ea5", "sha256:95b7822c8bf203bafb95527eaf8995d9dd4eef1b6899631f9293aa6926dab1d9", "sha256:54776f1e2ffd957571b79738fb41d8df69a93edb6d148ca149494d73975e8cab", "sha256:cf1069fda0c8e1d2bbef2cf0de0be797860c8a34d1df3a24f1180045fc06974f", "sha256:84642ad31dccf9969b2613fa532ff5e871e9ee592ab0244dc9f6724e56591b8b", "sha256:dddad9d322a3f0867009ff9f25477b8f7c0bdbedf143704b384c9472f11cb2d3" ], "version": "==2.2.1" "sha256:abd070b5849ed64e6d349199bef955ee0ad99aefbad792f0c587f8effa681a5e", "sha256:3f3b65d5a16e6b52fba63dc860b62ca9832f51f1a2ae5083c78b6840275f12dd", "sha256:77d0ad229d47a6e0272d00f6bf8ac06ce14715a9fd02c9a97f5a2869aab3ccb2", "sha256:808fe471b1a6b777f026f7dc7bd9a4959da4bfab64972f2bbe91e22527c1c037", "sha256:6fef51ec447fe9f8351894024e94736862900d3a9aa2961528e602eb65c92bdb", "sha256:60bda7f12ecb828358be53095fc9c6edda7de8f1ef571f96c00b2363643fa3cd", "sha256:5cb990056b7cadcca26813311187ad751ea644712022a3976443691168781b6f", "sha256:c332118647f084c983c6a3e1dba0f3bcb051f69d12baccac68db8d62d177eb8a", "sha256:f57008eaff597c69cf692c3518f6d4800f0309253bb138b526a37fe9ef0c7471", "sha256:551a3abfe0c8c6833df4192a63371aa2ff43afd8f570ed345d31f251d78e7e04", "sha256:db6013746f73bf8edd9c3d1d3f94db635b9422f503db3fc5ef105233d4c011ab", "sha256:d6f46e862ee36df81e6342c2177ba84e70f722d9dc9c6c394f9f1f434c4a5563", "sha256:9b62fb4d18529c84b961efd9187fecbb48e89aa1a0f9f4161c61b7fc42a101bd", "sha256:9e5bed45ec6b4f828866ac6a6bedf08388ffcfa68abe9e94b34bb40977aba531", "sha256:f6c821ac253c19f2ad4c8691633ae1d1a17f120d5b01ea1d256d7b602bc59887", "sha256:ba6a774749b6e510cffc2fb98535f717e0e5fd91c7c99a61d223293df79ab351", "sha256:9fc295bf69130a342e7a19a39d7bbeb15c0bcaabc7382ec33ef3b2b7d18d2f63" ], "version": "==2.2.2" }, "flask": { "hashes": [ Loading @@ -151,9 +151,9 @@ }, "flask-jwt-extended": { "hashes": [ "sha256:3edb354aff0e7eb55c59599255a70b989f35f8286820d0ec6738e22480ff0a00" "sha256:349c6c202ca3ef0cbbf53bd80f0f55db06e9bf077a1df02a92db08f73bbb0ed8" ], "version": "==3.7.2" "version": "==3.8.1" }, "flask-oauthlib": { "hashes": [ Loading Loading @@ -254,6 +254,8 @@ }, "pluggy": { "hashes": [ "sha256:d345c8fe681115900d6da8d048ba67c25df42973bda370783cd58826442dcd7c", "sha256:e160a7fcf25762bb60efc7e171d4497ff1d8d2d75a3d0df7a21b76821ecbf5c5", "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" ], "version": "==0.6.0" Loading Loading @@ -294,17 +296,10 @@ }, "pytz": { "hashes": [ "sha256:ed6509d9af298b7995d69a440e2822288f2eca1681b8cce37673dbb10091e5fe", "sha256:f93ddcdd6342f94cea379c73cddb5724e0d6d0a1c91c9bdef364dc0368ba4fda", "sha256:61242a9abc626379574a166dc0e96a66cd7c3b27fc10868003fa210be4bff1c9", "sha256:ba18e6a243b3625513d85239b3e49055a2f0318466e0b8a92b8fb8ca7ccdf55f", "sha256:07edfc3d4d2705a20a6e99d97f0c4b61c800b8232dc1c04d87e8554f130148dd", "sha256:3a47ff71597f821cd84a162e71593004286e5be07a340fd462f0d33a760782b5", "sha256:5bd55c744e6feaa4d599a6cbd8228b4f8f9ba96de2c38d56f08e534b3c9edf0d", "sha256:887ab5e5b32e4d0c86efddd3d055c1f363cbaa583beb8da5e22d2fa2f64d51ef", "sha256:410bcd1d6409026fbaa65d9ed33bf6dd8b1e94a499e32168acfc7b332e4095c0" "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555", "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749" ], "version": "==2018.3" "version": "==2018.4" }, "requests": { "hashes": [ Loading Loading @@ -336,9 +331,9 @@ }, "sqlalchemy": { "hashes": [ "sha256:249000654107a420a40200f1e0b555a79dfd4eff235b2ff60bc77714bd045f2d" "sha256:7cb00cc9b9f92ef8b4391c8a2051f81eeafefe32d63c6b395fd51401e9a39edb" ], "version": "==1.2.5" "version": "==1.2.6" }, "storage": { "editable": "true", Loading tests/rest/test_project.py +5 −6 Original line number Diff line number Diff line Loading @@ -159,7 +159,6 @@ def test_list_submissions_filter(client): assert s['user'] == user.id # does not pass - needs storage mock or config def test_create_submission(client): cpp = Course.query.filter_by(codename="PB161").first() p = cpp.projects[0] Loading @@ -170,7 +169,7 @@ def test_create_submission(client): "file_params": { "source": { "type": "git", "url": "student@repo.git", "url": "https://gitlab.fi.muni.cz/xkompis/test-hello-world.git", "branch": "master", "checkout": "master" } Loading @@ -185,9 +184,9 @@ def test_create_submission(client): assert response.mimetype == 'application/json' new_submission = json.loads(str(response.get_data().decode("utf-8"))) p_updated = Project.query.filter(Project.course_id == cpp.id).filter_by(name=p.name) user_updated = User.query.filter_by(username="xfoo").first() p_updated = Project.query.filter(Project.course_id == cpp.id).filter_by(name=p.name).first() user_updated = User.query.filter_by(username="admin").first() assert len(p_updated.submissions) == p_submissions + 1 utils.assert_submission_in(p_updated.submissions, new_submission) utils.assert_submission_in(user_updated.submissions, new_submission) utils.assert_submission_in(p_updated.submissions, new_submission[0]) utils.assert_submission_in(user_updated.submissions, new_submission[0]) Loading
.gitlab-ci.yml 0 → 100644 +27 −0 Original line number Diff line number Diff line # This file is a template, and might need editing before it works on your project. # Official framework image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python image: python:latest # This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache cache: paths: - ~/.cache/pip/ stages: - build build: stage: build tags: - shared-fi before_script: - python -V # Print out python version for debugging - pip install pipenv script: - pipenv install --dev - pipenv run coverage run -m pytest
Pipfile +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ flask-cors = "*" [dev-packages] pytest-cov = "*" [requires] Loading
Pipfile.lock +31 −36 Original line number Diff line number Diff line Loading @@ -52,10 +52,10 @@ }, "certifi": { "hashes": [ "sha256:14131608ad2fd56836d33a71ee60fa1c82bc9d2c8d98b7bdbc631fe1b3cd1296", "sha256:edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d" "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0", "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7" ], "version": "==2018.1.18" "version": "==2018.4.16" }, "cffi": { "hashes": [ Loading Loading @@ -114,25 +114,25 @@ }, "cryptography": { "hashes": [ "sha256:9f2d66952fc55f13f9c62ea6ae6ff88c2f9c2c21533065e1f7bddf0cf33c4cb9", "sha256:0f61273eccc681dc5a77dcd517cc2cb74078d1b00adb2b273d0a010153ae43c7", "sha256:469a72fda257b2179bb43e431b822d8087da53b40e68813bcfa54a16c3ebcdfe", "sha256:39532ae44154ce88eec25d2a361e9c285b2477e0a4b4fc61fb9d4bcb3804dec6", "sha256:e42b290eb7804d82c6d614b55e3b726dee464099a0e6240175f8d7b682b9295d", "sha256:c27ed8b01d5feeff8479384ed782bad1e5071563f47194703f0dc20c1b558503", "sha256:34a433c3783946106236c25a89e0c271a3bb1a8e8cd8f12782e8bf8bec4e351e", "sha256:27dd18e180608c512433c843ad2d62396399608a0f3603c4d805500caeeec3d6", "sha256:2c5265c622e02af289bdc5e96c0a572bffa2fc2ac3f86fac3bace632ab25888c", "sha256:54029ce210d3013dccced6478f4dfb25e7a409e13086f714be9c14489c64e2c7", "sha256:8ce363eed7ccc70f53be6ea4200aa20bbff99c8cbfce21a904f98e76c2bf5887", "sha256:2893ee1d67dace6178732c9ea8c176fedf5b6a6463f72f1378b779cdba8a0ea5", "sha256:95b7822c8bf203bafb95527eaf8995d9dd4eef1b6899631f9293aa6926dab1d9", "sha256:54776f1e2ffd957571b79738fb41d8df69a93edb6d148ca149494d73975e8cab", "sha256:cf1069fda0c8e1d2bbef2cf0de0be797860c8a34d1df3a24f1180045fc06974f", "sha256:84642ad31dccf9969b2613fa532ff5e871e9ee592ab0244dc9f6724e56591b8b", "sha256:dddad9d322a3f0867009ff9f25477b8f7c0bdbedf143704b384c9472f11cb2d3" ], "version": "==2.2.1" "sha256:abd070b5849ed64e6d349199bef955ee0ad99aefbad792f0c587f8effa681a5e", "sha256:3f3b65d5a16e6b52fba63dc860b62ca9832f51f1a2ae5083c78b6840275f12dd", "sha256:77d0ad229d47a6e0272d00f6bf8ac06ce14715a9fd02c9a97f5a2869aab3ccb2", "sha256:808fe471b1a6b777f026f7dc7bd9a4959da4bfab64972f2bbe91e22527c1c037", "sha256:6fef51ec447fe9f8351894024e94736862900d3a9aa2961528e602eb65c92bdb", "sha256:60bda7f12ecb828358be53095fc9c6edda7de8f1ef571f96c00b2363643fa3cd", "sha256:5cb990056b7cadcca26813311187ad751ea644712022a3976443691168781b6f", "sha256:c332118647f084c983c6a3e1dba0f3bcb051f69d12baccac68db8d62d177eb8a", "sha256:f57008eaff597c69cf692c3518f6d4800f0309253bb138b526a37fe9ef0c7471", "sha256:551a3abfe0c8c6833df4192a63371aa2ff43afd8f570ed345d31f251d78e7e04", "sha256:db6013746f73bf8edd9c3d1d3f94db635b9422f503db3fc5ef105233d4c011ab", "sha256:d6f46e862ee36df81e6342c2177ba84e70f722d9dc9c6c394f9f1f434c4a5563", "sha256:9b62fb4d18529c84b961efd9187fecbb48e89aa1a0f9f4161c61b7fc42a101bd", "sha256:9e5bed45ec6b4f828866ac6a6bedf08388ffcfa68abe9e94b34bb40977aba531", "sha256:f6c821ac253c19f2ad4c8691633ae1d1a17f120d5b01ea1d256d7b602bc59887", "sha256:ba6a774749b6e510cffc2fb98535f717e0e5fd91c7c99a61d223293df79ab351", "sha256:9fc295bf69130a342e7a19a39d7bbeb15c0bcaabc7382ec33ef3b2b7d18d2f63" ], "version": "==2.2.2" }, "flask": { "hashes": [ Loading @@ -151,9 +151,9 @@ }, "flask-jwt-extended": { "hashes": [ "sha256:3edb354aff0e7eb55c59599255a70b989f35f8286820d0ec6738e22480ff0a00" "sha256:349c6c202ca3ef0cbbf53bd80f0f55db06e9bf077a1df02a92db08f73bbb0ed8" ], "version": "==3.7.2" "version": "==3.8.1" }, "flask-oauthlib": { "hashes": [ Loading Loading @@ -254,6 +254,8 @@ }, "pluggy": { "hashes": [ "sha256:d345c8fe681115900d6da8d048ba67c25df42973bda370783cd58826442dcd7c", "sha256:e160a7fcf25762bb60efc7e171d4497ff1d8d2d75a3d0df7a21b76821ecbf5c5", "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" ], "version": "==0.6.0" Loading Loading @@ -294,17 +296,10 @@ }, "pytz": { "hashes": [ "sha256:ed6509d9af298b7995d69a440e2822288f2eca1681b8cce37673dbb10091e5fe", "sha256:f93ddcdd6342f94cea379c73cddb5724e0d6d0a1c91c9bdef364dc0368ba4fda", "sha256:61242a9abc626379574a166dc0e96a66cd7c3b27fc10868003fa210be4bff1c9", "sha256:ba18e6a243b3625513d85239b3e49055a2f0318466e0b8a92b8fb8ca7ccdf55f", "sha256:07edfc3d4d2705a20a6e99d97f0c4b61c800b8232dc1c04d87e8554f130148dd", "sha256:3a47ff71597f821cd84a162e71593004286e5be07a340fd462f0d33a760782b5", "sha256:5bd55c744e6feaa4d599a6cbd8228b4f8f9ba96de2c38d56f08e534b3c9edf0d", "sha256:887ab5e5b32e4d0c86efddd3d055c1f363cbaa583beb8da5e22d2fa2f64d51ef", "sha256:410bcd1d6409026fbaa65d9ed33bf6dd8b1e94a499e32168acfc7b332e4095c0" "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555", "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749" ], "version": "==2018.3" "version": "==2018.4" }, "requests": { "hashes": [ Loading Loading @@ -336,9 +331,9 @@ }, "sqlalchemy": { "hashes": [ "sha256:249000654107a420a40200f1e0b555a79dfd4eff235b2ff60bc77714bd045f2d" "sha256:7cb00cc9b9f92ef8b4391c8a2051f81eeafefe32d63c6b395fd51401e9a39edb" ], "version": "==1.2.5" "version": "==1.2.6" }, "storage": { "editable": "true", Loading
tests/rest/test_project.py +5 −6 Original line number Diff line number Diff line Loading @@ -159,7 +159,6 @@ def test_list_submissions_filter(client): assert s['user'] == user.id # does not pass - needs storage mock or config def test_create_submission(client): cpp = Course.query.filter_by(codename="PB161").first() p = cpp.projects[0] Loading @@ -170,7 +169,7 @@ def test_create_submission(client): "file_params": { "source": { "type": "git", "url": "student@repo.git", "url": "https://gitlab.fi.muni.cz/xkompis/test-hello-world.git", "branch": "master", "checkout": "master" } Loading @@ -185,9 +184,9 @@ def test_create_submission(client): assert response.mimetype == 'application/json' new_submission = json.loads(str(response.get_data().decode("utf-8"))) p_updated = Project.query.filter(Project.course_id == cpp.id).filter_by(name=p.name) user_updated = User.query.filter_by(username="xfoo").first() p_updated = Project.query.filter(Project.course_id == cpp.id).filter_by(name=p.name).first() user_updated = User.query.filter_by(username="admin").first() assert len(p_updated.submissions) == p_submissions + 1 utils.assert_submission_in(p_updated.submissions, new_submission) utils.assert_submission_in(user_updated.submissions, new_submission) utils.assert_submission_in(p_updated.submissions, new_submission[0]) utils.assert_submission_in(user_updated.submissions, new_submission[0])