diff --git a/PeerAtCodeFramework.jar b/PeerAtCodeFramework.jar index 2d0edbe..1f042d5 100644 Binary files a/PeerAtCodeFramework.jar and b/PeerAtCodeFramework.jar differ 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); + } +}