From 093c81e10b808a330d910cd48a4f304b3850cc32 Mon Sep 17 00:00:00 2001 From: Wum1ng <1210078968@qq.com> Date: Wed, 10 Apr 2024 11:25:10 +0800 Subject: [PATCH] Adaptation of older versions of CI --- test/conftest.py | 18 -------------- test/dojos/lfs_dojo.yml | 10 -------- test/dojos/no_practice_challenge.yml | 12 ---------- test/dojos/no_practice_dojo.yml | 12 ---------- test/test_running.py | 35 ---------------------------- test/test_welcome.py | 4 ++-- 6 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 test/dojos/lfs_dojo.yml delete mode 100644 test/dojos/no_practice_challenge.yml delete mode 100644 test/dojos/no_practice_dojo.yml diff --git a/test/conftest.py b/test/conftest.py index a66905f50..ba2f52a12 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -60,24 +60,6 @@ def example_import_dojo(admin_session): def simple_award_dojo(admin_session): return create_dojo_yml(open(TEST_DOJOS_LOCATION / "simple_award_dojo.yml").read(), session=admin_session) -@pytest.fixture(scope="session") -def no_practice_challenge_dojo(admin_session): - return create_dojo_yml(open(TEST_DOJOS_LOCATION / "no_practice_challenge.yml").read(), session=admin_session) - -@pytest.fixture(scope="session") -def no_import_challenge_dojo(admin_session): - rid = create_dojo_yml(open(TEST_DOJOS_LOCATION / "no_import_challenge.yml").read(), session=admin_session) - make_dojo_official(rid, admin_session) - return rid - -@pytest.fixture(scope="session") -def no_practice_dojo(admin_session): - return create_dojo_yml(open(TEST_DOJOS_LOCATION / "no_practice_dojo.yml").read(), session=admin_session) - -@pytest.fixture(scope="session") -def lfs_dojo(admin_session): - return create_dojo_yml(open(TEST_DOJOS_LOCATION / "lfs_dojo.yml").read(), session=admin_session) - @pytest.fixture(scope="session") def welcome_dojo(admin_session): try: diff --git a/test/dojos/lfs_dojo.yml b/test/dojos/lfs_dojo.yml deleted file mode 100644 index 52148db75..000000000 --- a/test/dojos/lfs_dojo.yml +++ /dev/null @@ -1,10 +0,0 @@ -id: lfs -type: public -modules: - - id: test - challenges: - - id: test -files: - - type: download - url: "https://www.dropbox.com/scl/fi/deyhfwioo3d824ext4k42/dojo.txt?rlkey=h1wmm4oe9hq67ooan9oh2r36j&dl=1" - path: "test/test/dojo.txt" diff --git a/test/dojos/no_practice_challenge.yml b/test/dojos/no_practice_challenge.yml deleted file mode 100644 index e4c65d50d..000000000 --- a/test/dojos/no_practice_challenge.yml +++ /dev/null @@ -1,12 +0,0 @@ -id: no-practice-challenge -type: public -modules: - - id: test - challenges: - - id: test - allow_privileged: False - import: - dojo: example - module: world - challenge: earth - diff --git a/test/dojos/no_practice_dojo.yml b/test/dojos/no_practice_dojo.yml deleted file mode 100644 index c531d7ea3..000000000 --- a/test/dojos/no_practice_dojo.yml +++ /dev/null @@ -1,12 +0,0 @@ -id: no-practice-dojo -type: public -allow_privileged: False -modules: - - id: test - challenges: - - id: test - import: - dojo: example - module: world - challenge: earth - diff --git a/test/test_running.py b/test/test_running.py index e6f26f8a6..64cf63c09 100644 --- a/test/test_running.py +++ b/test/test_running.py @@ -132,41 +132,6 @@ def test_dojo_completion(simple_award_dojo, completionist_user): assert us["solves"] == 2 assert len(us["badges"]) == 1 -@pytest.mark.dependency(depends=["test_join_dojo"]) -def test_no_practice(no_practice_challenge_dojo, no_practice_dojo, random_user): - _, session = random_user - for dojo in [ no_practice_challenge_dojo, no_practice_dojo ]: - response = session.get(f"{PROTO}://{HOST}/dojo/{dojo}/join/") - assert response.status_code == 200 - response = session.post(f"{PROTO}://{HOST}/pwncollege_api/v1/docker", json={ - "dojo": dojo, - "module": "test", - "challenge": "test", - "practice": True - }) - assert response.status_code == 200 - assert not response.json()["success"] - assert "practice" in response.json()["error"] - -@pytest.mark.dependency(depends=["test_join_dojo"]) -def test_lfs(lfs_dojo, random_user): - uid, session = random_user - assert session.get(f"{PROTO}://{HOST}/dojo/{lfs_dojo}/join/").status_code == 200 - start_challenge(lfs_dojo, "test", "test", session=session) - try: - workspace_run("[ -f '/challenge/dojo.txt' ]", user=uid) - except subprocess.CalledProcessError: - assert False, "LFS didn't create dojo.txt" - -@pytest.mark.dependency(depends=["test_join_dojo"]) -def test_no_import(no_import_challenge_dojo, admin_session): - try: - create_dojo_yml(open(TEST_DOJOS_LOCATION / "forbidden_import.yml").read(), session=admin_session) - except AssertionError as e: - assert "Import disallowed" in str(e) - else: - raise AssertionError("forbidden-import dojo creation should have failed, but it succeeded") - @pytest.mark.dependency(depends=["test_join_dojo"]) def test_prune_dojo_awards(simple_award_dojo, admin_session, completionist_user): user_name, _ = completionist_user diff --git a/test/test_welcome.py b/test/test_welcome.py index 9e0b2e9b5..36f2a2cd4 100644 --- a/test/test_welcome.py +++ b/test/test_welcome.py @@ -65,7 +65,7 @@ def desktop_terminal(wd, user_id): # Expands the accordion entry of the challenge def challenge_expand(wd, idx): wd.refresh() - wd.find_element("id", f"challenges-header-button-{idx}").click() + wd.find_element("id", f"challenges-header-{idx}").click() time.sleep(0.5) def challenge_start(wd, idx, practice=False): @@ -87,7 +87,7 @@ def challenge_submit(wd, idx, flag): # Gets the accordion entry index def challenge_idx(wd, name): num_challenges = len(wd.find_elements("id", "challenge-start")) - idx = next(n for n in range(num_challenges) if wd.find_element("id", f"challenges-header-button-{n+1}").text.split("\n")[0] == name) + idx = next(n for n in range(num_challenges) if wd.find_element("id", f"challenges-header-{n+1}").text.split("\n")[0] == name) return idx+1 def test_welcome_desktop(random_user_webdriver, welcome_dojo):