From cc8ad713a7395987603ab224886afe6c52f0db92 Mon Sep 17 00:00:00 2001 From: jeffcheasey88 Date: Mon, 18 Sep 2023 08:47:55 +0200 Subject: [PATCH] Test & Remove debug for Theo --- PeerAtCodeFramework.jar | Bin 516563 -> 516473 bytes .../backend/userstories/GroupTests.java | 83 ++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 test/dev/peerat/backend/userstories/GroupTests.java diff --git a/PeerAtCodeFramework.jar b/PeerAtCodeFramework.jar index 2d0edbe3d5ad9f89c293e7de8610c054acae6717..1f042d57d9563fd78684be0364397f12af3d1bd5 100644 GIT binary patch delta 20036 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 delta 20321 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 diff --git a/test/dev/peerat/backend/userstories/GroupTests.java b/test/dev/peerat/backend/userstories/GroupTests.java new file mode 100644 index 0000000..5a199a4 --- /dev/null +++ b/test/dev/peerat/backend/userstories/GroupTests.java @@ -0,0 +1,83 @@ +package dev.peerat.backend.userstories; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; + +import dev.peerat.backend.Main; +import dev.peerat.backend.WebClient; +import dev.peerat.framework.utils.json.JsonMap; + +@TestInstance(Lifecycle.PER_METHOD) +public class GroupTests extends BaseUserStoriesTest{ + + private Thread server; + private WebClient client; + + @BeforeEach + public void init() throws Exception{ + Class.forName("com.mysql.cj.jdbc.Driver"); + + super.init(); + getRepository().init(); + getRepository().reset(); + + server = new Thread(new Runnable(){ + @Override + public void run(){ + try { + Main.main(null); + } catch (Exception e){ + e.printStackTrace(); + }; + } + }); + server.start(); + client = new WebClient("localhost", 80); + +// System.out.println(Password.hash("password").withArgon2().getResult()); + + try { + client.auth("userTest", "password"); + client.assertResponseCode(200); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterEach + public void stop(){ + server.interrupt(); + } + + @Test + void createNormalGroup() throws Exception{ + JsonMap json = new JsonMap(); + json.set("name", "Group_test"); + json.set("chapter", 1); + client.route("/groupCreate", "POST", json.toString()); + client.assertResponseCode(200); + } + + @Test + void leaveNormalGroup() throws Exception{ + createNormalGroup(); + JsonMap json = new JsonMap(); + json.set("name", "Group_test"); + json.set("chapter", 1); + client.route("/groupQuit", "POST", json.toString()); + client.assertResponseCode(200); + } + + @Test + void joinNormalGroup() throws Exception{ + leaveNormalGroup(); + JsonMap json = new JsonMap(); + json.set("name", "Group_test"); + json.set("chapter", 1); + client.route("/groupJoin", "POST", json.toString()); + client.assertResponseCode(200); + } +}