Merge branch 'feat/129-write-unit-tests-for-responsebody-and-responsebodybuilder' into 'main'

Unit tests for ResponseBodyBuilder

Closes #129

See merge request cs108-fs26/Gruppe-13!153
This commit was merged in pull request #309.
This commit is contained in:
Lars Simon Winzer
2026-04-26 18:35:48 +02:00
@@ -0,0 +1,84 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class ResponseBodyBuilderTest {
@Test
void testSingleParameter() {
ResponseBody body = ResponseBody.builder().param("param1", "value1").build();
assertEquals(1, body.nodes().size());
ResponseParameter parameter = (ResponseParameter) body.nodes().get(0);
assertEquals("param1", parameter.key());
assertEquals("value1", parameter.value());
}
@Test
void testSingleBlock() {
ResponseBody body =
ResponseBody.builder()
.block("block1", block -> block.param("param1", "value1"))
.build();
assertEquals(1, body.nodes().size());
ResponseBlock block = (ResponseBlock) body.nodes().get(0);
assertEquals(1, block.children().size());
assertEquals("block1", block.tag());
ResponseParameter parameter = (ResponseParameter) block.children().get(0);
assertEquals("param1", parameter.key());
assertEquals("value1", parameter.value());
}
@Test
void testMultipleParameter() {
ResponseBody body =
ResponseBody.builder().param("param1", "value1").param("param2", "value2").build();
assertEquals(2, body.nodes().size());
ResponseParameter parameter;
parameter = (ResponseParameter) body.nodes().get(0);
assertEquals("param1", parameter.key());
assertEquals("value1", parameter.value());
parameter = (ResponseParameter) body.nodes().get(1);
assertEquals("param2", parameter.key());
assertEquals("value2", parameter.value());
}
@Test
void testMultipleBlocks() {
ResponseBody body =
ResponseBody.builder()
.block("block1", block -> block.param("param1", "value1"))
.block(
"block2",
block -> {
block.param("param2", "value2");
block.param("param3", "value3");
})
.build();
assertEquals(2, body.nodes().size());
ResponseBlock block;
ResponseParameter parameter;
block = (ResponseBlock) body.nodes().get(0);
assertEquals("block1", block.tag());
assertEquals(1, block.children().size());
parameter = (ResponseParameter) block.children().get(0);
assertEquals("param1", parameter.key());
assertEquals("value1", parameter.value());
block = (ResponseBlock) body.nodes().get(1);
assertEquals("block2", block.tag());
assertEquals(2, block.children().size());
parameter = (ResponseParameter) block.children().get(0);
assertEquals("param2", parameter.key());
assertEquals("value2", parameter.value());
}
}