From 1925c9eec71e98ed35c23c3e0c59d24a3c0e5049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 09:45:54 +0000 Subject: [PATCH 01/23] test --- .../java/dev/learning/xapi/client/ActivityProfileRequest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index bde98504..ec1c325f 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,6 +41,8 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + private URI activityId; + /** * Sets the activityId. * From a482877fad713b58392d7a6ff82befef040b6d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 09:54:27 +0000 Subject: [PATCH 02/23] sss --- .../java/dev/learning/xapi/client/ActivityProfileRequest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index ec1c325f..4d047113 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,6 +41,7 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + @NonNull private URI activityId; /** From 4eb4174a65dc67d24d26f48f82bb4a6aad7844ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 10:56:00 +0000 Subject: [PATCH 03/23] sss --- .../xapi/client/GetMoreStatementsRequest.java | 32 +++++++++++++++++ .../xapi/client/GetStatementRequest.java | 3 ++ .../client/GetVoidedStatementRequest.java | 36 +++++++++++++++++++ 3 files changed, 71 insertions(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java index 5e205605..a1453318 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java @@ -21,6 +21,7 @@ * Statements * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @Builder @Getter @@ -46,6 +47,37 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public static class Builder { + @NonNull + private URI more; + + /** + * Sets the more token. + * + * @param more The more token of the GetMoreStatementsRequest. + * @return This builder + */ + public Builder more(String more) { + + this.more = URI.create(more); + + return this; + + } + + /** + * Sets the more token. + * + * @param more The more token of the GetMoreStatementsRequest. + * @return This builder + */ + public Builder more(URI more) { + + this.more = more; + + return this; + + } + // This static class extends the lombok builder. } diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java index 0a284073..31e97931 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java @@ -57,6 +57,9 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + @NonNull + private UUID id; + /** * Sets the id. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java index 13bbd9aa..02da7bdf 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.Optional; +import java.util.UUID; import lombok.Getter; import lombok.experimental.SuperBuilder; import org.springframework.web.util.UriBuilder; @@ -18,6 +19,7 @@ * Statements * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @SuperBuilder @Getter @@ -37,4 +39,38 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { } + /** + * Builder for GetVoidedStatementRequest. + */ + public abstract static class Builder> + extends GetStatementRequest.Builder { + + /** + * Sets the voidedId. + * + * @param voidedId The voidedId of the GetVoidedStatementRequest. + * @return This builder + * @see GetVoidedStatementRequest#voidedId + */ + public Builder voidedId(UUID voidedId) { + id(voidedId); + return self(); + } + + /** + * Sets the voidedId. + * + * @param voidedId The voidedId of the GetVoidedStatementRequest. + * @return This builder + * @see GetVoidedStatementRequest#voidedId + */ + public Builder voidedId(String voidedId) { + id(voidedId); + return self(); + } + + // This static class extends the lombok builder. + + } + } From 5b67e4deebb0f0dfa7db6ab503c4270b21ed3cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:01:18 +0000 Subject: [PATCH 04/23] sss --- .../test/java/dev/learning/xapi/client/XapiClientTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 2945f5a9..0b28290c 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -342,7 +342,7 @@ void whenGettingVoidedStatementThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.id(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) + client.getVoidedStatement(r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) .block(); RecordedRequest recordedRequest = mockWebServer.takeRequest(); @@ -357,7 +357,7 @@ void whenGettingVoidedStatementThenPathIsExpected() throws InterruptedException mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); + client.getVoidedStatement(r -> r.voidedId("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); RecordedRequest recordedRequest = mockWebServer.takeRequest(); From 78a4fdfefbb33d18d8401957f56577b486be501f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:08:53 +0000 Subject: [PATCH 05/23] sss --- .../client/GetMoreStatementsRequestTests.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java index 39cdb842..f80a1d59 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java @@ -13,14 +13,15 @@ * GetMoreStatementsRequest Tests. * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @DisplayName("GetMoreStatementsRequest Tests") class GetMoreStatementsRequestTests { @Test - void whenBuildingGetMoreStatementsRequestWithAllParametersThenNoExceptionIsThrown() { + void whenBuildingGetMoreStatementsRequestWithUriParameterThenNoExceptionIsThrown() { - // When Building GetMoreStatementsRequest With All Parameters + // When Building GetMoreStatementsRequest With Uri Parameter GetMoreStatementsRequest.Builder builder = GetMoreStatementsRequest.builder() .more( @@ -30,6 +31,19 @@ void whenBuildingGetMoreStatementsRequestWithAllParametersThenNoExceptionIsThrow assertDoesNotThrow(() -> builder.build()); } + + @Test + void whenBuildingGetMoreStatementsRequestWithStringParameterThenNoExceptionIsThrown() { + + // When Building GetMoreStatementsRequest With String Parameter + GetMoreStatementsRequest.Builder builder = GetMoreStatementsRequest.builder() + + .more("https://example.com/xapi/statements/869cc589-76fa-4283-8e96-eea86f9124e1"); + + // Then No Exception Is Thrown + assertDoesNotThrow(() -> builder.build()); + + } @Test void whenBuildingGetMoreStatementsRequestWithoutMoreThenNullPointerExceptionIsThrown() { From 3fe3a6208340090a710b8aff022e0d192ee21561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:12:50 +0000 Subject: [PATCH 06/23] sss --- .../src/main/java/dev/learning/xapi/model/Account.java | 6 ++++++ xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java index 4ea74e49..05ebfec4 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java @@ -45,6 +45,12 @@ public class Account { */ public static class Builder { + @NotNull + private URI homePage; + + @NotBlank + private String name; + // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index a6c86dbd..fca09384 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -74,6 +74,9 @@ public abstract class Actor implements StatementObject, SubStatementObject { */ public abstract static class Builder> { + @Valid + Account account; + /** * Consumer Builder for account. * From 22b4cf88d16dee3eb0d11978047e3a72a3da52b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:30:50 +0000 Subject: [PATCH 07/23] sss --- .../xapi/client/GetActivityRequest.java | 36 +++++++++++++++++++ .../learning/xapi/client/XapiClientTests.java | 20 +++++++++-- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java index 2cfd552b..6ce42ea3 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java @@ -47,6 +47,42 @@ public HttpMethod getMethod() { */ public static class Builder { + @NonNull + private URI activityId; + + /** + * Sets the activityId. + * + * @param activityId The activityId of the GetActivityRequest. + * + * @return This builder + * + * @see GetActivityRequest#activityId + */ + public Builder activityId(String activityId) { + + this.activityId = URI.create(activityId); + + return this; + + } + + /** + * Sets the activityId. + * + * @param activityId The activityId of the GetActivityRequest. + * + * @return This builder + * + * @see GetActivityRequest#activityId + */ + public Builder activityId(URI activityId) { + + this.activityId = activityId; + + return this; + + } } } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 0b28290c..0c024945 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -1664,11 +1664,11 @@ void whenGettingProfilesWithSinceParameterThenPathIsExpected() throws Interrupte // Get Activity @Test - void whenGettingActivityThenMethodIsGet() throws InterruptedException { + void whenGettingActivityByUriThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); - // When Getting Activity + // When Getting Activity By Uri client .getActivity(r -> r.activityId(URI.create("https://example.com/activity/simplestatement"))) .block(); @@ -1679,6 +1679,22 @@ void whenGettingActivityThenMethodIsGet() throws InterruptedException { assertThat(recordedRequest.getMethod(), is("GET")); } + @Test + void whenGettingActivityByStringThenMethodIsGet() throws InterruptedException { + + mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); + + // When Getting Activity By String + client + .getActivity(r -> r.activityId("https://example.com/activity/simplestatement")) + .block(); + + RecordedRequest recordedRequest = mockWebServer.takeRequest(); + + // Then Method Is Get + assertThat(recordedRequest.getMethod(), is("GET")); + } + @Test void whenGettingActivityThenPathIsExpected() throws InterruptedException { From 8b2bec58496bdb00278cfe88fe44b359278e1adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 12:01:33 +0000 Subject: [PATCH 08/23] group fix ??? --- .../src/main/java/dev/learning/xapi/model/Group.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 6e9f1d25..77f86c37 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -14,9 +14,9 @@ import java.util.List; import java.util.function.Consumer; import lombok.AllArgsConstructor; -import lombok.Builder.Default; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.NonNull; import lombok.ToString; import lombok.experimental.SuperBuilder; @@ -37,8 +37,7 @@ @JsonSubTypes({@JsonSubTypes.Type(value = Group.class, name = "Group")}) public class Group extends Actor { - @Default - private final ObjectType objectType = ObjectType.GROUP; + private ObjectType objectType; /** * The members of this Group. @@ -57,6 +56,13 @@ public abstract static class Builder> // This static class extends the lombok builder. + private ObjectType objectType = ObjectType.GROUP; + + @NonNull + private Builder objectType(ObjectType objectType) { + return self(); + } + /** * Consumer Builder for member. * From e8e35d7f273822a81d7abf8ac1081b68d60ddd4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 12:04:29 +0000 Subject: [PATCH 09/23] group 2 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 1 + 1 file changed, 1 insertion(+) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 77f86c37..3a3406c7 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -56,6 +56,7 @@ public abstract static class Builder> // This static class extends the lombok builder. + @NonNull private ObjectType objectType = ObjectType.GROUP; @NonNull From 6557e73f349fa71a148dd00eda71a86b2d7314fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 14:10:12 +0000 Subject: [PATCH 10/23] more fix --- .../java/dev/learning/xapi/model/Score.java | 4 ++ .../dev/learning/xapi/model/Statement.java | 3 ++ .../xapi/model/StatementReference.java | 3 ++ .../dev/learning/xapi/model/AgentTests.java | 37 ++++---------- .../learning/xapi/model/LanguageMapTests.java | 48 ++++--------------- 5 files changed, 28 insertions(+), 67 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index e6021838..246298dd 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -55,6 +55,10 @@ public class Score { */ public static class Builder { + @DecimalMax(value = "1.0") + @DecimalMin(value = "-1.0") + private Float scaled; + // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java index f72ba191..b2b19e38 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java @@ -103,6 +103,9 @@ public static class Builder { // This static class extends the lombok builder. + @NotNull + private Actor actor; + /** * Consumer Builder for agent. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java index 551c1841..e842a800 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java @@ -44,6 +44,9 @@ public static class Builder { // This static class extends the lombok builder. + @NotNull + private UUID id; + } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java index 43ebfd86..e199d272 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java @@ -14,6 +14,8 @@ import java.net.URI; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.springframework.util.ResourceUtils; /** @@ -28,10 +30,13 @@ class AgentTests { private final ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules(); - @Test - void whenDeserializingAgentThenResultIsInstanceOfAgent() throws IOException { + @ParameterizedTest + @ValueSource(strings = {"classpath:agent/agent.json", + "classpath:agent/agent_without_object_type.json", + "classpath:agent/agent_with_object_type.json"}) + void whenDeserializingAgentThenResultIsInstanceOfAgent(String fileName) throws IOException { - final File file = ResourceUtils.getFile("classpath:agent/agent.json"); + final File file = ResourceUtils.getFile(fileName); // When Deserializing Agent final Agent result = objectMapper.readValue(file, Agent.class); @@ -41,32 +46,6 @@ void whenDeserializingAgentThenResultIsInstanceOfAgent() throws IOException { } - @Test - void whenDeserializingAgentWithoutObjectTypeThenResultIsInstanceOfAgent() throws IOException { - - final File file = ResourceUtils.getFile("classpath:agent/agent_without_object_type.json"); - - // When Deserializing Agent Without Object Type - final Agent result = objectMapper.readValue(file, Agent.class); - - // Then Result Is Instance Of Agent - assertThat(result, instanceOf(Agent.class)); - - } - - @Test - void whenDeserializingAgentWithObjectTypeThenResultIsInstanceOfAgent() throws IOException { - - final File file = ResourceUtils.getFile("classpath:agent/agent_with_object_type.json"); - - // When Deserializing Agent Without Object Type - final Agent result = objectMapper.readValue(file, Agent.class); - - // Then Result Is Instance Of Agent - assertThat(result, instanceOf(Agent.class)); - - } - @Test void whenDeserializingAgentWithNameThenNameIsExpected() throws IOException { diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java index 315c0751..7faebb84 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java @@ -13,6 +13,8 @@ import java.util.Map; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; /** * LanguageMap Tests. @@ -20,8 +22,12 @@ @DisplayName("LanguageMap tests") class LanguageMapTests { - @Test - void givenUkandUSKeyWhenGettingUKValueThenValueIsUK() throws Exception { + @ParameterizedTest + @CsvSource({ + "en-GB, Colour", + "en-US, Color", + "de, Colour"}) + void givenUkandUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, String expected) throws Exception { final LanguageMap languageMap = new LanguageMap(); @@ -30,27 +36,10 @@ void givenUkandUSKeyWhenGettingUKValueThenValueIsUK() throws Exception { languageMap.put(Locale.US, "Color"); // When Getting UK Value - final String value = languageMap.get(LanguageRange.parse("en-GB")); + final String value = languageMap.get(LanguageRange.parse(locale)); // Then Value Is UK - assertThat(value, is("Colour")); - - } - - @Test - void givenUkandUsKeyWhenGettingUsValueThenValueIsUs() throws Exception { - - final LanguageMap languageMap = new LanguageMap(); - - // Given UK and US Key - languageMap.put(Locale.UK, "Colour"); - languageMap.put(Locale.US, "Color"); - - // When Getting US Value - final String value = languageMap.get(LanguageRange.parse("en-US")); - - // Then Value Is US - assertThat(value, is("Color")); + assertThat(value, is(expected)); } @@ -106,23 +95,6 @@ void givenFrenchAndUsKeyWhenGettingCanadaFrenchValueThenValueIsFrench() throws E } - @Test - void givenUkandUsKeyWhenGettingGermanValueThenValueIsFirstEntry() throws Exception { - - final LanguageMap languageMap = new LanguageMap(); - - // Given UK and US Key - languageMap.put(Locale.UK, "Colour"); - languageMap.put(Locale.US, "Color"); - - // When Getting German Value - final String value = languageMap.get(LanguageRange.parse("de")); - - // Then Value Is First Entry - assertThat(value, is("Colour")); - - } - @Test void givenMapIsEmptyWhenGettingGermanValueThenValueIsNull() throws Exception { From 5abd57b4a2ea59e6665c4f404f921a788ccfd0e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:04:01 +0000 Subject: [PATCH 11/23] group 3 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 3a3406c7..d152e3bc 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -16,7 +16,6 @@ import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.NonNull; import lombok.ToString; import lombok.experimental.SuperBuilder; @@ -56,11 +55,9 @@ public abstract static class Builder> // This static class extends the lombok builder. - @NonNull private ObjectType objectType = ObjectType.GROUP; - @NonNull - private Builder objectType(ObjectType objectType) { + protected Builder objectType(ObjectType objectType) { return self(); } From bc8fe481ab4c7a37d9a93f2a6fa7fea6618afcc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:07:09 +0000 Subject: [PATCH 12/23] group 3 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index d152e3bc..b27b0765 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -55,7 +55,7 @@ public abstract static class Builder> // This static class extends the lombok builder. - private ObjectType objectType = ObjectType.GROUP; + protected ObjectType objectType = ObjectType.GROUP; protected Builder objectType(ObjectType objectType) { return self(); From 7cc5b4747cd42ea3485c68d5215435006352ac8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:16:56 +0000 Subject: [PATCH 13/23] score --- .../java/dev/learning/xapi/model/Group.java | 1 + .../java/dev/learning/xapi/model/Score.java | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index b27b0765..d2b01f42 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -58,6 +58,7 @@ public abstract static class Builder> protected ObjectType objectType = ObjectType.GROUP; protected Builder objectType(ObjectType objectType) { + this.objectType = objectType; return self(); } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 246298dd..359d7574 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -4,10 +4,10 @@ package dev.learning.xapi.model; +import org.springframework.util.Assert; + import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import jakarta.validation.constraints.DecimalMax; -import jakarta.validation.constraints.DecimalMin; import lombok.Builder; import lombok.Value; @@ -24,12 +24,9 @@ @JsonInclude(Include.NON_EMPTY) public class Score { - // TODO check that @DecimalMax and @DecimalMin apply to float /** * The score related to the experience as modified by scaling and/or normalization. */ - @DecimalMax(value = "1.0") - @DecimalMin(value = "-1.0") private Float scaled; /** @@ -55,9 +52,13 @@ public class Score { */ public static class Builder { - @DecimalMax(value = "1.0") - @DecimalMin(value = "-1.0") - private Float scaled; + protected Float scaled; + + public Builder scaled(Float scaled) { + Assert.isTrue(scaled == null || (scaled>=-1.0 && scaled <=1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + this.scaled = scaled; + return this; + } // This static class extends the lombok builder. From c806c519877f3409418088ff662b61a0c8b49b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:21:06 +0000 Subject: [PATCH 14/23] csi --- xapi-model/src/main/java/dev/learning/xapi/model/Score.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 359d7574..40fe962b 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -55,7 +55,7 @@ public static class Builder { protected Float scaled; public Builder scaled(Float scaled) { - Assert.isTrue(scaled == null || (scaled>=-1.0 && scaled <=1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0) , "Scaled score vaule must be between -1.0 and 1.0"); this.scaled = scaled; return this; } From fd6ba1d4ba8a66de548118a385288f73257c1700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:22:43 +0000 Subject: [PATCH 15/23] csi --- xapi-model/src/main/java/dev/learning/xapi/model/Score.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 40fe962b..7c6adce7 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -4,12 +4,11 @@ package dev.learning.xapi.model; -import org.springframework.util.Assert; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import lombok.Builder; import lombok.Value; +import org.springframework.util.Assert; /** * This class represents the xAPI Score object. From 6c77dac8c7fbb2a82f50a0f18826fb1724e3d2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:25:41 +0000 Subject: [PATCH 16/23] csi --- .../src/main/java/dev/learning/xapi/model/Score.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 7c6adce7..267677df 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -53,8 +53,16 @@ public static class Builder { protected Float scaled; + /** + * Sets the scaled score. + * + * @param scaled The scaled score. + * + * @return This builder + */ public Builder scaled(Float scaled) { - Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0), + "Scaled score vaule must be between -1.0 and 1.0"); this.scaled = scaled; return this; } From 38fee322fd809307d41c3ae762102741c7cf021e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 11:03:24 +0000 Subject: [PATCH 17/23] sss --- .../dev/learning/xapi/client/ActivityProfileRequest.java | 3 --- .../java/dev/learning/xapi/client/GetActivityRequest.java | 4 +--- .../dev/learning/xapi/client/GetMoreStatementsRequest.java | 3 --- .../java/dev/learning/xapi/client/GetStatementRequest.java | 3 --- .../src/main/java/dev/learning/xapi/model/Account.java | 6 ------ xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 5 +---- .../src/main/java/dev/learning/xapi/model/Statement.java | 3 --- .../java/dev/learning/xapi/model/StatementReference.java | 3 --- 8 files changed, 2 insertions(+), 28 deletions(-) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index 4d047113..bde98504 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,9 +41,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { - @NonNull - private URI activityId; - /** * Sets the activityId. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java index 6ce42ea3..2d3239ea 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java @@ -20,6 +20,7 @@ * Activity Object GET * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @Getter @Builder @@ -47,9 +48,6 @@ public HttpMethod getMethod() { */ public static class Builder { - @NonNull - private URI activityId; - /** * Sets the activityId. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java index a1453318..5127c4a3 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java @@ -47,9 +47,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public static class Builder { - @NonNull - private URI more; - /** * Sets the more token. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java index 31e97931..0a284073 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java @@ -57,9 +57,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { - @NonNull - private UUID id; - /** * Sets the id. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java index 05ebfec4..4ea74e49 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java @@ -45,12 +45,6 @@ public class Account { */ public static class Builder { - @NotNull - private URI homePage; - - @NotBlank - private String name; - // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index fca09384..5d9c6343 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -33,7 +33,7 @@ @NoArgsConstructor @EqualsAndHashCode(exclude = "name") @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = false, - defaultImpl = Agent.class, include = As.EXISTING_PROPERTY) + defaultImpl = Agent.class, include = As.PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Agent.class, name = "Person"), @JsonSubTypes.Type(value = Group.class, name = "Group")}) @@ -74,9 +74,6 @@ public abstract class Actor implements StatementObject, SubStatementObject { */ public abstract static class Builder> { - @Valid - Account account; - /** * Consumer Builder for account. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java index b2b19e38..f72ba191 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java @@ -103,9 +103,6 @@ public static class Builder { // This static class extends the lombok builder. - @NotNull - private Actor actor; - /** * Consumer Builder for agent. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java index e842a800..551c1841 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java @@ -44,9 +44,6 @@ public static class Builder { // This static class extends the lombok builder. - @NotNull - private UUID id; - } From ad0a5f52631e654e07b19bc87133909f1c587d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 11:04:14 +0000 Subject: [PATCH 18/23] sss --- xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index 5d9c6343..a6c86dbd 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -33,7 +33,7 @@ @NoArgsConstructor @EqualsAndHashCode(exclude = "name") @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = false, - defaultImpl = Agent.class, include = As.PROPERTY) + defaultImpl = Agent.class, include = As.EXISTING_PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Agent.class, name = "Person"), @JsonSubTypes.Type(value = Group.class, name = "Group")}) From 5e55b389061b9b60075f95fcc633ea9438cdf29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 14:35:41 +0000 Subject: [PATCH 19/23] fix LanguageMapTests comments --- .../test/java/dev/learning/xapi/model/LanguageMapTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java index 7faebb84..ba0ec7bc 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java @@ -35,10 +35,10 @@ void givenUkandUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, Str languageMap.put(Locale.UK, "Colour"); languageMap.put(Locale.US, "Color"); - // When Getting UK Value + // When Getting Locale Value final String value = languageMap.get(LanguageRange.parse(locale)); - // Then Value Is UK + // Then Value Is Expected assertThat(value, is(expected)); } From b2dbcc4981af7023258d4c9217c1d41d154ad98d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 15:46:06 +0000 Subject: [PATCH 20/23] add objectType property EVERYWHERE --- .../xapi/client/DeleteStateRequestTests.java | 35 +-- .../xapi/client/DeleteStatesRequestTests.java | 40 +-- .../xapi/client/GetStateRequestTests.java | 35 +-- .../xapi/client/GetStatesRequestTests.java | 49 +-- .../xapi/client/PostStateRequestTests.java | 27 +- .../xapi/client/PutStateRequestTests.java | 27 +- .../learning/xapi/client/XapiClientTests.java | 279 +++++++++--------- .../dev/learning/xapi/model/Activity.java | 5 - .../java/dev/learning/xapi/model/Actor.java | 4 +- .../java/dev/learning/xapi/model/Agent.java | 9 +- .../java/dev/learning/xapi/model/Group.java | 8 - .../learning/xapi/model/StatementObject.java | 2 +- .../xapi/model/StatementReference.java | 6 - .../dev/learning/xapi/model/SubStatement.java | 6 - .../xapi/model/SubStatementObject.java | 2 +- .../learning/xapi/model/ActivityTests.java | 17 +- .../xapi/model/ContextActivitiesTests.java | 2 +- .../dev/learning/xapi/model/ContextTests.java | 2 +- .../dev/learning/xapi/model/GroupTests.java | 2 +- .../xapi/model/StatementReferenceTest.java | 2 +- .../xapi/model/SubStatementTests.java | 2 +- .../resources/agent/agent_with_account.json | 1 + .../test/resources/agent/agent_with_mbox.json | 1 + .../agent/agent_with_mbox_sha1sum.json | 1 + .../test/resources/agent/agent_with_name.json | 1 + .../resources/agent/agent_with_openid.json | 1 + .../src/test/resources/context/context.json | 1 + .../context_with_group_instructor.json | 2 + .../src/test/resources/group/group.json | 2 + 29 files changed, 270 insertions(+), 301 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStateRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStateRequestTests.java index 77ab035f..c4ffb980 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStateRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStateRequestTests.java @@ -7,6 +7,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertThrows; + import dev.learning.xapi.client.DeleteStateRequest.Builder; import java.net.URI; import java.util.HashMap; @@ -27,7 +28,7 @@ class DeleteStateRequestTests { void whenBuildingDeleteStateRequestWithAllParametersThenNoExceptionIsThrown() { // When Building DeleteStateRequest With All Parameters - Builder builder = DeleteStateRequest.builder() + final Builder builder = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -46,7 +47,7 @@ void whenBuildingDeleteStateRequestWithAllParametersThenNoExceptionIsThrown() { void whenBuildingDeleteStateRequestWithoutRegistrationThenNoExceptionIsThrown() { // When Building DeleteStateRequest Without Registration - Builder builder = DeleteStateRequest.builder() + final Builder builder = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -63,7 +64,7 @@ void whenBuildingDeleteStateRequestWithoutRegistrationThenNoExceptionIsThrown() void whenBuildingDeleteStateRequestWithoutActivityIdThenExceptionIsThrown() { // When Building DeleteStateRequest Without ActivityId - Builder builder = DeleteStateRequest.builder() + final Builder builder = DeleteStateRequest.builder() .agent(a -> a.name("A N Other").mbox("another@example.com")) @@ -80,7 +81,7 @@ void whenBuildingDeleteStateRequestWithoutActivityIdThenExceptionIsThrown() { void whenBuildingDeleteStateRequestWithoutAgentThenExceptionIsThrown() { // When Building DeleteStateRequest Without Agent - Builder builder = DeleteStateRequest.builder() + final Builder builder = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -97,7 +98,7 @@ void whenBuildingDeleteStateRequestWithoutAgentThenExceptionIsThrown() { void whenBuildingDeleteStateRequestWithoutStateIdThenExceptionIsThrown() { // When Building DeleteStateRequest Without StateId - Builder builder = DeleteStateRequest.builder() + final Builder builder = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -114,7 +115,7 @@ void whenBuildingDeleteStateRequestWithoutStateIdThenExceptionIsThrown() { void givenDeleteStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given DeleteStateRequest With All Parameters - DeleteStateRequest request = DeleteStateRequest.builder() + final DeleteStateRequest request = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -126,16 +127,16 @@ void givenDeleteStateRequestWithAllParametersWhenGettingURLThenResultIsExpected( .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22another%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22another%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); } @@ -143,7 +144,7 @@ void givenDeleteStateRequestWithAllParametersWhenGettingURLThenResultIsExpected( void givenDeleteStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() { // Given DeleteStateRequest Without Registration - DeleteStateRequest request = DeleteStateRequest.builder() + final DeleteStateRequest request = DeleteStateRequest.builder() .activityId("https://example.com/activity/1") @@ -153,16 +154,16 @@ void givenDeleteStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpecte .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22another%40example.com%22%7D&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22another%40example.com%22%7D&stateId=bookmark"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStatesRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStatesRequestTests.java index 6ec5ec94..4eba7b47 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStatesRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/DeleteStatesRequestTests.java @@ -7,6 +7,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertThrows; + import dev.learning.xapi.client.DeleteStatesRequest.Builder; import java.net.URI; import java.util.HashMap; @@ -28,7 +29,7 @@ class DeleteStatesRequestTests { void whenBuildingDeleteStatesRequestWithAllParametersThenNoExceptionIsThrown() { // When Building DeleteStatesRequest With All Parameters - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -45,7 +46,7 @@ void whenBuildingDeleteStatesRequestWithAllParametersThenNoExceptionIsThrown() { void whenBuildingDeleteStatesRequestWithRegistrationAsUUIDTypeThenNoExceptionIsThrown() { // When Building Delete States Request With Registration As UUID Type - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -62,13 +63,13 @@ void whenBuildingDeleteStatesRequestWithRegistrationAsUUIDTypeThenNoExceptionIsT void whenBuildingDeleteStatesRequestWithActivityIdAsURITypeThenNoExceptionIsThrown() { // When Building Delete States Request With ActivityId As URI Type - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .activityId(URI.create("https://example.com/activity/1")) .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) - .registration(("67828e3a-d116-4e18-8af3-2d2c59e27be6")); + .registration("67828e3a-d116-4e18-8af3-2d2c59e27be6"); // Then No Exception Is Thrown assertDoesNotThrow(() -> builder.build()); @@ -79,7 +80,7 @@ void whenBuildingDeleteStatesRequestWithActivityIdAsURITypeThenNoExceptionIsThro void whenBuildingDeleteStatesRequestWithoutRegistrationThenNoExceptionIsThrown() { // When Building DeleteStatesRequest Without Registration - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -94,7 +95,7 @@ void whenBuildingDeleteStatesRequestWithoutRegistrationThenNoExceptionIsThrown() void whenBuildingDeleteStatesRequestWithoutActivityIdThenExceptionIsThrown() { // When Building DeleteStatesRequest Without ActivityId - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -109,7 +110,7 @@ void whenBuildingDeleteStatesRequestWithoutActivityIdThenExceptionIsThrown() { void whenBuildingDeleteStatesRequestWithoutAgentThenExceptionIsThrown() { // When Building DeleteStatesRequest Without Agent - Builder builder = DeleteStatesRequest.builder() + final Builder builder = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -124,7 +125,7 @@ void whenBuildingDeleteStatesRequestWithoutAgentThenExceptionIsThrown() { void givenDeleteStatesRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given DeleteStatesRequest With All Parameters - DeleteStatesRequest request = DeleteStatesRequest.builder() + final DeleteStatesRequest request = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -134,25 +135,24 @@ void givenDeleteStatesRequestWithAllParametersWhenGettingURLThenResultIsExpected .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI url = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI url = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(url, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6"))); } - @Test void givenDeleteStatesRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() { // Given DeleteStatesRequest Without Registration - DeleteStatesRequest request = DeleteStatesRequest.builder() + final DeleteStatesRequest request = DeleteStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -160,16 +160,16 @@ void givenDeleteStatesRequestWithoutRegistrationWhenGettingURLThenResultIsExpect .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI url = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI url = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(url, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/GetStateRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/GetStateRequestTests.java index 75acbfbe..58a9b07b 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/GetStateRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/GetStateRequestTests.java @@ -7,6 +7,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThrows; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; + import dev.learning.xapi.client.GetStateRequest.Builder; import java.net.URI; import java.util.HashMap; @@ -27,7 +28,7 @@ class GetStateRequestTests { void whenBuildingGetStateRequestWithAllParametersThenNoExceptionIsThrown() { // When Building GetStateRequest With All Parameters - Builder builder = GetStateRequest.builder() + final Builder builder = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -46,7 +47,7 @@ void whenBuildingGetStateRequestWithAllParametersThenNoExceptionIsThrown() { void whenBuildingGetStateRequestWithoutRegistrationThenNoExceptionIsThrown() { // When Building GetStateRequest Without Registration - Builder builder = GetStateRequest.builder() + final Builder builder = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -63,7 +64,7 @@ void whenBuildingGetStateRequestWithoutRegistrationThenNoExceptionIsThrown() { void whenBuildingGetStateRequestWithoutActivityIdThenNullPointerExceptionIsThrown() { // When Building GetStateRequest Without activityId - Builder builder = GetStateRequest.builder() + final Builder builder = GetStateRequest.builder() .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -78,7 +79,7 @@ void whenBuildingGetStateRequestWithoutActivityIdThenNullPointerExceptionIsThrow void whenBuildingGetStateRequestWithoutAgentThenNullPointerExceptionIsThrown() { // When Building GetStateRequest Without Agent - Builder builder = GetStateRequest.builder() + final Builder builder = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -93,7 +94,7 @@ void whenBuildingGetStateRequestWithoutAgentThenNullPointerExceptionIsThrown() { void whenBuildingGetStateRequestWithoutStateIdThenNullPointerExceptionIsThrown() { // When Building GetStateRequest Without StateId - Builder builder = GetStateRequest.builder() + final Builder builder = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -108,7 +109,7 @@ void whenBuildingGetStateRequestWithoutStateIdThenNullPointerExceptionIsThrown() void givenGetStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given GetStateRequest With All Parameters - GetStateRequest request = GetStateRequest.builder() + final GetStateRequest request = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -120,16 +121,16 @@ void givenGetStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); } @@ -137,7 +138,7 @@ void givenGetStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { void givenGetStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() { // Given GetStateRequest Without Registration - GetStateRequest request = GetStateRequest.builder() + final GetStateRequest request = GetStateRequest.builder() .activityId("https://example.com/activity/1") @@ -147,16 +148,16 @@ void givenGetStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/GetStatesRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/GetStatesRequestTests.java index 4611708c..03f3210c 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/GetStatesRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/GetStatesRequestTests.java @@ -7,6 +7,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThrows; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; + import dev.learning.xapi.client.GetStatesRequest.Builder; import java.net.URI; import java.time.Instant; @@ -28,7 +29,7 @@ class GetStatesRequestTests { void whenBuildingGetStatesRequestWithAllParametersThenNoExceptionIsThrown() { // When Building GetStatesRequest With All Parameters - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -47,7 +48,7 @@ void whenBuildingGetStatesRequestWithAllParametersThenNoExceptionIsThrown() { void whenBuildingGetStatesRequestWithoutSinceParameterThenNoExceptionIsThrown() { // When Building GetStatesRequest Without Since Parameter - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -64,7 +65,7 @@ void whenBuildingGetStatesRequestWithoutSinceParameterThenNoExceptionIsThrown() void whenBuildingGetStatesRequestWithoutRegistrationParameterThenNoExceptionIsThrown() { // When Building GetStatesRequest Without Registration Parameter - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -79,7 +80,7 @@ void whenBuildingGetStatesRequestWithoutRegistrationParameterThenNoExceptionIsTh void whenBuildingGetStatesRequestWithRequiredParametersThenNoExceptionIsThrown() { // When Building GetStatesRequest With Required Parameters - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -94,7 +95,7 @@ void whenBuildingGetStatesRequestWithRequiredParametersThenNoExceptionIsThrown() void whenBuildingGetStatesRequestWithoutActivityIdThenNullPointerExceptionIsThrown() { // When Building GetStatesRequest Without ActivityId - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")); @@ -107,7 +108,7 @@ void whenBuildingGetStatesRequestWithoutActivityIdThenNullPointerExceptionIsThro void whenBuildingGetStatesRequestWithoutAgentThenNullPointerExceptionIsThrown() { // When Building GetStatesRequest Without Agent - Builder builder = GetStatesRequest.builder() + final Builder builder = GetStatesRequest.builder() .activityId("https://example.com/activity/1"); @@ -120,7 +121,7 @@ void whenBuildingGetStatesRequestWithoutAgentThenNullPointerExceptionIsThrown() void givenGetStatesRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given GetStatesRequest With All Parameters - GetStatesRequest request = GetStatesRequest.builder() + final GetStatesRequest request = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -132,16 +133,16 @@ void givenGetStatesRequestWithAllParametersWhenGettingURLThenResultIsExpected() .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&since=2016-01-01T00:00:00Z"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&since=2016-01-01T00:00:00Z"))); } @@ -149,7 +150,7 @@ void givenGetStatesRequestWithAllParametersWhenGettingURLThenResultIsExpected() void givenGetStatesRequestWithoutRegistrationParameterWhenGettingURLThenResultIsExpected() { // Given GetStatesRequest Without Registration Parameter - GetStatesRequest request = GetStatesRequest.builder() + final GetStatesRequest request = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -157,16 +158,16 @@ void givenGetStatesRequestWithoutRegistrationParameterWhenGettingURLThenResultIs .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D"))); } @@ -174,7 +175,7 @@ void givenGetStatesRequestWithoutRegistrationParameterWhenGettingURLThenResultIs void givenGetStatesRequestWithoutSinceParameterWhenGettingURLThenResultIsExpected() { // Given GetStatesRequest Without Since Parameter - GetStatesRequest request = GetStatesRequest.builder() + final GetStatesRequest request = GetStatesRequest.builder() .activityId("https://example.com/activity/1") @@ -184,16 +185,16 @@ void givenGetStatesRequestWithoutSinceParameterWhenGettingURLThenResultIsExpecte .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/PostStateRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/PostStateRequestTests.java index f6004599..b3e58f9a 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/PostStateRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/PostStateRequestTests.java @@ -6,6 +6,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; + import dev.learning.xapi.client.PostStateRequest.Builder; import java.net.URI; import java.util.HashMap; @@ -26,7 +27,7 @@ class PostStateRequestTests { void whenBuildingPostStateRequestWithAllParametersThenNoExceptionIsThrown() { // When Building PostStateRequest With All Parameters - Builder builder = PostStateRequest.builder() + final Builder builder = PostStateRequest.builder() .activityId("https://example.com/activity/1") @@ -47,7 +48,7 @@ void whenBuildingPostStateRequestWithAllParametersThenNoExceptionIsThrown() { void givenPostStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given PostStateRequest With All Parameters - PostStateRequest request = PostStateRequest.builder() + final PostStateRequest request = PostStateRequest.builder() .activityId("https://example.com/activity/1") @@ -61,16 +62,16 @@ void givenPostStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); } @@ -78,7 +79,7 @@ void givenPostStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() void givenPostStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() { // Given PostStateRequest Without Registration - PostStateRequest request = PostStateRequest.builder() + final PostStateRequest request = PostStateRequest.builder() .activityId("https://example.com/activity/1") @@ -90,16 +91,16 @@ void givenPostStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected( .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/PutStateRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/PutStateRequestTests.java index be780814..07cbbb8d 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/PutStateRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/PutStateRequestTests.java @@ -6,6 +6,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; + import dev.learning.xapi.client.PutStateRequest.Builder; import java.net.URI; import java.util.HashMap; @@ -26,7 +27,7 @@ class PutStateRequestTests { void whenBuildingPutStateRequestWithAllParametersThenNoExceptionIsThrown() { // When Building PutStateRequest With All Parameters - Builder builder = PutStateRequest.builder() + final Builder builder = PutStateRequest.builder() .activityId("https://example.com/activity/1") @@ -47,7 +48,7 @@ void whenBuildingPutStateRequestWithAllParametersThenNoExceptionIsThrown() { void givenPutStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { // Given PutStateRequest With All Parameters - PutStateRequest request = PutStateRequest.builder() + final PutStateRequest request = PutStateRequest.builder() .activityId("https://example.com/activity/1") @@ -61,16 +62,16 @@ void givenPutStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark"))); } @@ -78,7 +79,7 @@ void givenPutStateRequestWithAllParametersWhenGettingURLThenResultIsExpected() { void givenPutStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() { // Given PutStateRequest Without Registration - PutStateRequest request = PutStateRequest.builder() + final PutStateRequest request = PutStateRequest.builder() .activityId("https://example.com/activity/1") @@ -90,16 +91,16 @@ void givenPutStateRequestWithoutRegistrationWhenGettingURLThenResultIsExpected() .build(); - Map queryParams = new HashMap<>(); + final Map queryParams = new HashMap<>(); // When Getting URL - URI result = - request.url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) - .build(queryParams); + final URI result = request + .url(UriComponentsBuilder.fromUriString("https://example.com/xapi/"), queryParams) + .build(queryParams); // Then Result Is Expected assertThat(result, is(URI.create( - "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); + "https://example.com/xapi/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark"))); } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 0c024945..d20cc74d 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -6,6 +6,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsInstanceOf.instanceOf; + import dev.learning.xapi.model.About; import dev.learning.xapi.model.Activity; import dev.learning.xapi.model.Person; @@ -71,7 +72,7 @@ void whenGettingStatementThenMethodIsGet() throws InterruptedException { // When Getting Statements client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -85,7 +86,7 @@ void whenGettingStatementThenPathIsExpected() throws InterruptedException { // When Getting Statement client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -102,7 +103,8 @@ void whenGettingStatementThenBodyIsInstanceOfStatement() throws InterruptedExcep .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting Statement - var response = client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); + final var response = client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")) + .block(); // Then Body Is Instance Of Statement assertThat(response.getBody(), instanceOf(Statement.class)); @@ -117,7 +119,7 @@ void whenGettingStatementWithAttachmentsThenPathIsExpected() throws InterruptedE client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6").attachments(true)) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -135,7 +137,7 @@ void whenGettingStatementWithCanonicalFormatThenPathIsExpected() throws Interrup r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6").format(StatementFormat.CANONICAL)) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -162,12 +164,12 @@ void whenPostingStatementsThenMethodIsPost() throws InterruptedException { final Statement passedStatement = attemptedStatement.toBuilder().verb(Verb.PASSED).build(); - Statement statements[] = {attemptedStatement, passedStatement}; + final Statement statements[] = { attemptedStatement, passedStatement }; // When posting Statements client.postStatements(r -> r.statements(statements)).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -191,16 +193,16 @@ void whenPostingStatementsThenBodyIsExpected() throws InterruptedException { final Statement passedStatement = attemptedStatement.toBuilder().verb(Verb.PASSED).build(); - Statement statements[] = {attemptedStatement, passedStatement}; + final Statement statements[] = { attemptedStatement, passedStatement }; // When Posting Statements client.postStatements(r -> r.statements(statements)).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Body Is Expected assertThat(recordedRequest.getBody().readUtf8(), is( - "[{\"actor\":{\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/attempted\",\"display\":{\"und\":\"attempted\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}},{\"actor\":{\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/passed\",\"display\":{\"und\":\"passed\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}}]")); + "[{\"actor\":{\"objectType\":\"Agent\",\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/attempted\",\"display\":{\"und\":\"attempted\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}},{\"actor\":{\"objectType\":\"Agent\",\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/passed\",\"display\":{\"und\":\"passed\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}}]")); } @Test @@ -221,12 +223,12 @@ void whenPostingStatementsThenContentTypeHeaderIsApplicationJson() throws Interr final Statement passedStatement = attemptedStatement.toBuilder().verb(Verb.PASSED).build(); - Statement statements[] = {attemptedStatement, passedStatement}; + final Statement statements[] = { attemptedStatement, passedStatement }; // When Posting Statements client.postStatements(r -> r.statements(statements)).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -253,10 +255,11 @@ void whenPostingStatementsThenResponseBodyIsInstanceOfUUIDArray() throws Interru final Statement passedStatement = attemptedStatement.toBuilder().verb(Verb.PASSED).build(); - Statement statements[] = {attemptedStatement, passedStatement}; + final Statement statements[] = { attemptedStatement, passedStatement }; // When Posting Statements - ResponseEntity response = client.postStatements(r -> r.statements(statements)).block(); + final ResponseEntity< + UUID[]> response = client.postStatements(r -> r.statements(statements)).block(); // Then Response Body Is Instance Of UUID Array assertThat(response.getBody(), instanceOf(UUID[].class)); @@ -281,7 +284,7 @@ void whenPostingStatementThenMethodIsPost() throws InterruptedException { .definition(d -> d.addName(Locale.ENGLISH, "Simple Statement"))))) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -304,11 +307,11 @@ void whenPostingStatementThenBodyIsExpected() throws InterruptedException { .definition(d -> d.addName(Locale.ENGLISH, "Simple Statement"))))) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Body Is Expected assertThat(recordedRequest.getBody().readUtf8(), is( - "{\"actor\":{\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/attempted\",\"display\":{\"und\":\"attempted\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}}")); + "{\"actor\":{\"objectType\":\"Agent\",\"name\":\"A N Other\",\"mbox\":\"mailto:another@example.com\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/attempted\",\"display\":{\"und\":\"attempted\"}},\"object\":{\"objectType\":\"Activity\",\"id\":\"https://example.com/activity/simplestatement\",\"definition\":{\"name\":{\"en\":\"Simple Statement\"}}}}")); } @Test @@ -328,7 +331,7 @@ void whenPostingStatementThenContentTypeHeaderIsApplicationJson() throws Interru .definition(d -> d.addName(Locale.ENGLISH, "Simple Statement"))))) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -342,10 +345,10 @@ void whenGettingVoidedStatementThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) - .block(); + client.getVoidedStatement( + r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -359,7 +362,7 @@ void whenGettingVoidedStatementThenPathIsExpected() throws InterruptedException // When Getting Voided Statement client.getVoidedStatement(r -> r.voidedId("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -375,7 +378,7 @@ void whenGettingVoidedStatementWithAttachmentsThenPathIsExpected() throws Interr client.getStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6").attachments(true)) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -394,7 +397,7 @@ void whenGettingVoidedStatementWithCanonicalFormatThenPathIsExpected() r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6").format(StatementFormat.CANONICAL)) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -411,7 +414,7 @@ void whenGettingStatementsThenMethodIsGet() throws InterruptedException { // When Getting Statements client.getStatements().block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -425,7 +428,7 @@ void whenGettingStatementsThenPathIsExpected() throws InterruptedException { // When Getting Statements client.getStatements().block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is("/statements")); @@ -465,11 +468,11 @@ void whenGettingStatementsWithAllParametersThenPathIsExpected() throws Interrupt ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/statements?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&verb=http%3A%2F%2Fadlnet.gov%2Fexpapi%2Fverbs%2Fanswered&activity=https%3A%2F%2Fexample.com%2Factivity%2F1&since=2016-01-01T00%3A00%3A00Z&until=2018-01-01T00%3A00%3A00Z®istration=dbf5d9e8-d2aa-4d57-9754-b11e3f195fe3&related_activities=true&related_agents=true&limit=10&format=canonical&attachments=true&ascending=true")); + "/statements?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&verb=http%3A%2F%2Fadlnet.gov%2Fexpapi%2Fverbs%2Fanswered&activity=https%3A%2F%2Fexample.com%2Factivity%2F1&since=2016-01-01T00%3A00%3A00Z&until=2018-01-01T00%3A00%3A00Z®istration=dbf5d9e8-d2aa-4d57-9754-b11e3f195fe3&related_activities=true&related_agents=true&limit=10&format=canonical&attachments=true&ascending=true")); } @Test @@ -484,11 +487,11 @@ void whenGettingStatementsWithAgentParameterThenPathIsExpected() throws Interrup ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/statements?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); + "/statements?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); } @Test @@ -503,7 +506,7 @@ void whenGettingStatementsWithVerbParameterThenPathIsExpected() throws Interrupt ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -522,7 +525,7 @@ void whenGettingStatementsWithActivityParameterThenPathIsExpected() throws Inter ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -541,7 +544,7 @@ void whenGettingMoreStatementsThenRequestMethodIsGet() throws InterruptedExcepti ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -559,7 +562,7 @@ void whenGettingMoreStatementsThenRequestURLExpected() throws InterruptedExcepti ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Request URL Is Expected assertThat(recordedRequest.getRequestUrl(), @@ -582,7 +585,7 @@ void whenGettingASingleStateThenMethodIsGet() throws InterruptedException { .stateId("bookmark"), String.class).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -602,11 +605,11 @@ void whenGettingASingleStateThenPathIsExpected() throws InterruptedException { .stateId("bookmark"), String.class).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); } @Test @@ -623,7 +626,7 @@ void whenGettingASingleStateWithoutRegistrationThenMethodIsGet() throws Interrup .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -643,11 +646,11 @@ void whenGettingASingleStateWithoutRegistrationThenPathIsExpected() throws Inter .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); } @Test @@ -659,7 +662,7 @@ void givenStateContentTypeIsTextPlainWhenGettingStateThenBodyIsInstanceOfString( .addHeader("Content-Type", "text/plain; charset=utf-8")); // When Getting State - ResponseEntity response = client + final ResponseEntity response = client .getState(r -> r.activityId("https://example.com/activity/1") .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -683,7 +686,7 @@ void givenStateContentTypeIsTextPlainWhenGettingStateThenBodyIsExpected() .addHeader("Content-Type", "text/plain; charset=utf-8")); // When Getting State - ResponseEntity response = client + final ResponseEntity response = client .getState(r -> r.activityId("https://example.com/activity/1") .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -718,7 +721,7 @@ void whenPostingASingleStateThenMethodIsPost() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -742,11 +745,11 @@ void whenPostingASingleStateThenPathIsExpected() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); } @Test @@ -770,7 +773,7 @@ void whenPostingASingleStateWithContentTypeTextPlainThenContentTypeHeaderIsTextP .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -795,7 +798,7 @@ void whenPostingASingleStateWithoutContentTypeThenContentTypeHeaderIsApplication .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -817,7 +820,7 @@ void whenPostingASingleStateWithoutRegistrationThenMethodIsPost() throws Interru .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -839,11 +842,11 @@ void whenPostingASingleStateWithoutRegistrationThenPathIsExpected() throws Inter .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); } // Put Single State @@ -866,7 +869,7 @@ void whenPuttingASingleStateThenMethodIsPut() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("PUT")); @@ -890,11 +893,11 @@ void whenPuttingASingleStateThenPathIsExpected() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); } @Test @@ -918,7 +921,7 @@ void whenPuttingASingleStateWithContentTypeTextPlainThenContentTypeHeaderIsTextP .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -943,7 +946,7 @@ void whenPuttingASingleStateWithoutContentTypeThenContentTypeHeaderIsApplication .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -965,7 +968,7 @@ void whenPuttingASingleStateWithoutRegistrationThenMethodIsPut() throws Interrup .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("PUT")); @@ -987,11 +990,11 @@ void whenPuttingASingleStateWithoutRegistrationThenPathIsExpected() throws Inter .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&stateId=bookmark")); } // Deleting Single State @@ -1010,7 +1013,7 @@ void whenDeletingASingleStateThenMethodIsDelete() throws InterruptedException { .stateId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -1030,11 +1033,11 @@ void whenDeletingASingleStateThenPathIsExpected() throws InterruptedException { .stateId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); } @Test @@ -1049,7 +1052,7 @@ void whenDeletingASingleStateWithoutRegistrationThenMethodIsDelete() throws Inte .stateId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -1069,11 +1072,11 @@ void whenDeletingASingleStateWithoutRegistrationThenPathIsExpected() throws Inte .stateId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6&stateId=bookmark")); } // Getting Multiple States @@ -1094,7 +1097,7 @@ void whenGettingMultipleStatesThenMethodIsGet() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1116,11 +1119,11 @@ void whenGettingMultipleStatesThenPathIsExpected() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6")); } @Test @@ -1137,7 +1140,7 @@ void whenGettingMultipleStatesWithoutRegistrationThenMethodIsGet() throws Interr .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1158,11 +1161,11 @@ void whenGettingMultipleStatesWithoutRegistrationThenPathIsExpected() .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); } @Test @@ -1175,7 +1178,7 @@ void givenMultipleStatesExistWhenGettingMultipleStatesThenBodyIsInstanceOfString .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting Multiple States - ResponseEntity response = client + final ResponseEntity response = client .getStates(r -> r.activityId("https://example.com/activity/1") .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -1198,7 +1201,7 @@ void givenMultipleStatesExistWhenGettingMultipleStatesThenBodyIsExpected() .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting Multiple States - ResponseEntity response = client + final ResponseEntity response = client .getStates(r -> r.activityId("https://example.com/activity/1") .agent(a -> a.name("A N Other").mbox("mailto:another@example.com")) @@ -1208,7 +1211,7 @@ void givenMultipleStatesExistWhenGettingMultipleStatesThenBodyIsExpected() .block(); // Then Body Is Expected - assertThat(response.getBody(), is(new String[] {"State1", "State2", "State3"})); + assertThat(response.getBody(), is(new String[] { "State1", "State2", "State3" })); } // Deleting Multiple States @@ -1227,7 +1230,7 @@ void whenDeletingMultipleStatesThenMethodIsDelete() throws InterruptedException ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -1247,11 +1250,11 @@ void whenDeletingMultipleStatesThenPathIsExpected() throws InterruptedException ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D®istration=67828e3a-d116-4e18-8af3-2d2c59e27be6")); } @Test @@ -1267,7 +1270,7 @@ void whenDeletingMultipleStatesWithoutRegistrationThenMethodIsDelete() ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -1286,11 +1289,11 @@ void whenDeletingMultipleStatesWithoutRegistrationThenPathIsExpected() ).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); + "/activities/state?activityId=https%3A%2F%2Fexample.com%2Factivity%2F1&agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); } // Get Single Agent Profile @@ -1305,7 +1308,7 @@ void whenGettingASingleAgentProfileThenMethodIsGet() throws InterruptedException .profileId("greeting"), String.class).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1325,11 +1328,11 @@ void whenGettingASingleAgentProfileThenPathIsExpected() throws InterruptedExcept .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); } // Delete Single Agent Profile @@ -1348,7 +1351,7 @@ void whenDeletingASingleAgentProfileThenMethodIsDelete() throws InterruptedExcep .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -1366,11 +1369,11 @@ void whenDeletetingASingleAgentProfileThenPathIsExpected() throws InterruptedExc .profileId("greeting")) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); } // Put Single Agent Profile @@ -1389,7 +1392,7 @@ void whenPuttingASingleAgentProfileThenMethodIsPut() throws InterruptedException .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Put assertThat(recordedRequest.getMethod(), is("PUT")); @@ -1409,11 +1412,11 @@ void whenPuttingASingleAgentProfileThenPathIsExpected() throws InterruptedExcept .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); } @Test @@ -1433,7 +1436,7 @@ void whenPuttingASingleAgentProfileWithContentTypeTextPlainThenContentTypeHeader .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -1454,7 +1457,7 @@ void whenPuttingASingleAgentProfileWithoutContentTypeThenContentTypeHeaderIsAppl .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -1477,7 +1480,7 @@ void whenPuttingASingleAgentProfileWithoutContentTypeThenBodyIsExpected() .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Body Is Expected assertThat(recordedRequest.getBody().readUtf8(), @@ -1501,7 +1504,7 @@ void whenPostingASingleAgentProfileThenMethodIsPost() throws InterruptedExceptio .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -1522,11 +1525,11 @@ void whenPostingASingleAgentProfileThenPathIsExpected() throws InterruptedExcept .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&profileId=greeting")); } @Test @@ -1547,7 +1550,7 @@ void whenPostingASingleAgentProfileWithContentTypeTextPlainThenContentTypeHeader .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -1569,7 +1572,7 @@ void whenPostingASingleAgentProfileWithoutContentTypeThenContentTypeHeaderIsAppl .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -1593,7 +1596,7 @@ void whenPostingASingleAgentProfileWithoutContentTypeThenBodyIsExpected() .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Body Is Expected assertThat(recordedRequest.getBody().readUtf8(), @@ -1613,7 +1616,7 @@ void whenGettingProfilesThenMethodIsGet() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1632,11 +1635,11 @@ void whenGettingProfilesThenPathIsExpected() throws InterruptedException { .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); } @Test @@ -1654,11 +1657,11 @@ void whenGettingProfilesWithSinceParameterThenPathIsExpected() throws Interrupte .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( - "/agents/profile?agent=%7B%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&since=2016-01-01T00%3A00%3A00Z")); + "/agents/profile?agent=%7B%22objectType%22%3A%22Agent%22%2C%22name%22%3A%22A%20N%20Other%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D&since=2016-01-01T00%3A00%3A00Z")); } // Get Activity @@ -1673,7 +1676,7 @@ void whenGettingActivityByUriThenMethodIsGet() throws InterruptedException { .getActivity(r -> r.activityId(URI.create("https://example.com/activity/simplestatement"))) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1685,16 +1688,14 @@ void whenGettingActivityByStringThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Activity By String - client - .getActivity(r -> r.activityId("https://example.com/activity/simplestatement")) - .block(); + client.getActivity(r -> r.activityId("https://example.com/activity/simplestatement")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); } - + @Test void whenGettingActivityThenPathIsExpected() throws InterruptedException { @@ -1705,7 +1706,7 @@ void whenGettingActivityThenPathIsExpected() throws InterruptedException { .getActivity(r -> r.activityId(URI.create("https://example.com/activity/simplestatement"))) .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -1722,7 +1723,7 @@ void whenGettingActivityThenBodyIsInstanceOfActivity() throws InterruptedExcepti .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting Activity - var response = client + final var response = client .getActivity(r -> r.activityId(URI.create("https://example.com/activity/simplestatement"))) .block(); @@ -1740,7 +1741,7 @@ void whenGettingAgentsThenMethodIsGet() throws InterruptedException { // When Getting Agents client.getAgents(r -> r.agent(a -> a.mbox("mailto:another@example.com"))).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1754,11 +1755,11 @@ void whenGettingAgentsThenPathIsExpected() throws InterruptedException { // When Getting Agents client.getAgents(r -> r.agent(a -> a.mbox("mailto:another@example.com"))).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected - assertThat(recordedRequest.getPath(), - is("/agents?agent=%7B%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); + assertThat(recordedRequest.getPath(), is( + "/agents?agent=%7B%22objectType%22%3A%22Agent%22%2C%22mbox%22%3A%22mailto%3Aanother%40example.com%22%7D")); } @Test @@ -1771,8 +1772,8 @@ void whenGettingAgentsThenBodyIsInstanceOfPerson() throws InterruptedException { .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting Agents - var response = - client.getAgents(r -> r.agent(a -> a.mbox("mailto:another@example.com"))).block(); + final var response = client.getAgents(r -> r.agent(a -> a.mbox("mailto:another@example.com"))) + .block(); // Then Body Is Instance Of Activity assertThat(response.getBody(), instanceOf(Person.class)); @@ -1792,7 +1793,7 @@ void whenGettingAboutThenMethodIsGet() throws InterruptedException { // When Getting About client.getAbout().block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1810,7 +1811,7 @@ void whenGettingAboutThenPathIsExpected() throws InterruptedException { // When Getting About client.getAbout().block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is("/about")); @@ -1826,14 +1827,12 @@ void whenGettingAboutThenBodyIsInstanceOfAbout() throws InterruptedException { .addHeader("Content-Type", "application/json; charset=utf-8")); // When Getting About - var response = client.getAbout().block(); + final var response = client.getAbout().block(); // Then Body Is Instance Of About assertThat(response.getBody(), instanceOf(About.class)); } - - // Get Single Activity Profile @Test @@ -1846,7 +1845,7 @@ void whenGettingASingleActivityProfileThenMethodIsGet() throws InterruptedExcept .profileId("bookmark"), String.class).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -1862,7 +1861,7 @@ void whenGettingASingleActivityProfileThenPathIsExpected() throws InterruptedExc .profileId("bookmark"), String.class).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( @@ -1878,7 +1877,7 @@ void givenActivityProfileContentTypeIsTextPlainWhenGettingActivityProfileThenBod .addHeader("Content-Type", "text/plain; charset=utf-8")); // When Getting ActivityProfile - ResponseEntity response = client + final ResponseEntity response = client .getActivityProfile(r -> r.activityId("https://example.com/activity/1") .profileId("bookmark"), String.class) @@ -1898,7 +1897,7 @@ void givenActivityProfileContentTypeIsTextPlainWhenGettingActivityProfileThenBod .addHeader("Content-Type", "text/plain; charset=utf-8")); // When Getting ActivityProfile - ResponseEntity response = client + final ResponseEntity response = client .getActivityProfile(r -> r.activityId("https://example.com/activity/1") .profileId("bookmark"), String.class) @@ -1925,7 +1924,7 @@ void whenPostingASingleActivityProfileThenMethodIsPost() throws InterruptedExcep .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("POST")); @@ -1945,7 +1944,7 @@ void whenPostingASingleActivityProfileThenPathIsExpected() throws InterruptedExc .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( @@ -1969,7 +1968,7 @@ void whenPostingASingleActivityProfileWithContentTypeTextPlainThenContentTypeHea .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -1990,7 +1989,7 @@ void whenPostingASingleActivityProfileWithoutContentTypeThenContentTypeHeaderIsA .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -2012,7 +2011,7 @@ void whenPuttingASingleActivityProfileThenMethodIsPut() throws InterruptedExcept .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Post assertThat(recordedRequest.getMethod(), is("PUT")); @@ -2032,7 +2031,7 @@ void whenPuttingASingleActivityProfileThenPathIsExpected() throws InterruptedExc .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( @@ -2056,7 +2055,7 @@ void whenPuttingASingleActivityProfileWithContentTypeTextPlainThenContentTypeHea .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Text Plain assertThat(recordedRequest.getHeader("content-type"), is("text/plain")); @@ -2077,7 +2076,7 @@ void whenPuttingASingleActivityProfileWithoutContentTypeThenContentTypeHeaderIsA .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Content Type Header Is Application Json assertThat(recordedRequest.getHeader("content-type"), is("application/json")); @@ -2095,7 +2094,7 @@ void whenDeletingASingleActivityProfileThenMethodIsDelete() throws InterruptedEx .profileId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Delete assertThat(recordedRequest.getMethod(), is("DELETE")); @@ -2111,7 +2110,7 @@ void whenDeletingASingleActivityProfileThenPathIsExpected() throws InterruptedEx .profileId("bookmark")).block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( @@ -2131,7 +2130,7 @@ void whenGettingActivityProfilesWithSinceParameterThenMethodIsGet() throws Inter .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Method Is Get assertThat(recordedRequest.getMethod(), is("GET")); @@ -2151,7 +2150,7 @@ void whenGettingActivityProfilesWithSinceParameterThenPathIsExpected() .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), is( @@ -2170,7 +2169,7 @@ void whenGettingActivityProfilesWithoutSinceParameterThenPathIsExpected() .block(); - RecordedRequest recordedRequest = mockWebServer.takeRequest(); + final RecordedRequest recordedRequest = mockWebServer.takeRequest(); // Then Path Is Expected assertThat(recordedRequest.getPath(), @@ -2180,8 +2179,8 @@ void whenGettingActivityProfilesWithoutSinceParameterThenPathIsExpected() @Getter private static class SamplePerson { - private String firstName; - private String lastName; + private final String firstName; + private final String lastName; public SamplePerson(String firstName, String lastName) { super(); diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Activity.java b/xapi-model/src/main/java/dev/learning/xapi/model/Activity.java index 69956c8c..6e7ead1d 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Activity.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Activity.java @@ -10,7 +10,6 @@ import java.util.function.Consumer; import lombok.AllArgsConstructor; import lombok.Builder; -import lombok.Builder.Default; import lombok.EqualsAndHashCode; import lombok.Value; @@ -29,9 +28,6 @@ @EqualsAndHashCode(exclude = "definition") public class Activity implements StatementObject, SubStatementObject { - @Default - private final ObjectType objectType = ObjectType.ACTIVITY; - /** * An identifier for a single unique Activity. */ @@ -53,7 +49,6 @@ public class Activity implements StatementObject, SubStatementObject { */ public Activity(String id) { - this.objectType = ObjectType.ACTIVITY; this.id = URI.create(id); this.definition = null; } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index a6c86dbd..9da1bedf 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -32,8 +32,8 @@ @ToString @NoArgsConstructor @EqualsAndHashCode(exclude = "name") -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = false, - defaultImpl = Agent.class, include = As.EXISTING_PROPERTY) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", + defaultImpl = Agent.class, include = As.PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Agent.class, name = "Person"), @JsonSubTypes.Type(value = Group.class, name = "Group")}) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Agent.java b/xapi-model/src/main/java/dev/learning/xapi/model/Agent.java index 17558360..c50f7b5f 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Agent.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Agent.java @@ -5,10 +5,9 @@ package dev.learning.xapi.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonSubTypes; -import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.SuperBuilder; @@ -21,16 +20,12 @@ */ @Getter @SuperBuilder -@AllArgsConstructor +@NoArgsConstructor @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @JsonIgnoreProperties(value = {"firstName", "lastName"}) -@JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), - @JsonSubTypes.Type(value = Agent.class, name = "Person")}) public class Agent extends Actor { - private ObjectType objectType; - // **Warning** do not add fields that are not required by the xAPI specification. /** diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index d2b01f42..fa79c34c 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -5,9 +5,6 @@ package dev.learning.xapi.model; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonSubTypes; -import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.annotation.JsonTypeInfo.As; import jakarta.validation.Valid; import java.util.ArrayList; import java.util.Arrays; @@ -31,13 +28,8 @@ @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = true, - include = As.EXISTING_PROPERTY) -@JsonSubTypes({@JsonSubTypes.Type(value = Group.class, name = "Group")}) public class Group extends Actor { - private ObjectType objectType; - /** * The members of this Group. */ diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementObject.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementObject.java index 14875d22..ce38625a 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementObject.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementObject.java @@ -20,7 +20,7 @@ */ @JsonInclude(Include.NON_EMPTY) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", defaultImpl = Activity.class, - visible = true, include = As.EXISTING_PROPERTY) + include = As.PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Activity.class, name = "Activity"), @JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Group.class, name = "Group"), diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java index 551c1841..ebe4b071 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java @@ -4,11 +4,9 @@ package dev.learning.xapi.model; -import com.fasterxml.jackson.annotation.JsonTypeInfo; import jakarta.validation.constraints.NotNull; import java.util.UUID; import lombok.Builder; -import lombok.Builder.Default; import lombok.Value; /** @@ -22,12 +20,8 @@ */ @Value @Builder -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType") public class StatementReference implements StatementObject, SubStatementObject { - @Default - private final ObjectType objectType = ObjectType.STATEMENTREF; - /** * The UUID of a Statement. */ diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/SubStatement.java b/xapi-model/src/main/java/dev/learning/xapi/model/SubStatement.java index c9c1c2e9..d5e10f07 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/SubStatement.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/SubStatement.java @@ -4,13 +4,11 @@ package dev.learning.xapi.model; -import com.fasterxml.jackson.annotation.JsonTypeInfo; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; import java.time.Instant; import java.util.function.Consumer; import lombok.Builder; -import lombok.Builder.Default; import lombok.EqualsAndHashCode; import lombok.Value; @@ -24,13 +22,9 @@ */ @Value @Builder -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType") @EqualsAndHashCode(exclude = {"timestamp", "attachments"}) public class SubStatement implements StatementObject { - @Default - private final ObjectType objectType = ObjectType.SUBSTATEMENT; - /** * Whom the Statement is about, as an Agent or Group Object. */ diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/SubStatementObject.java b/xapi-model/src/main/java/dev/learning/xapi/model/SubStatementObject.java index 53835e04..31baa07b 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/SubStatementObject.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/SubStatementObject.java @@ -24,7 +24,7 @@ */ @JsonInclude(Include.NON_EMPTY) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", defaultImpl = Activity.class, - visible = true, include = As.EXISTING_PROPERTY) + include = As.PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Activity.class, name = "Activity"), @JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Group.class, name = "Group"), diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/ActivityTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/ActivityTests.java index b3be7a20..f30d4f41 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/ActivityTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/ActivityTests.java @@ -41,19 +41,6 @@ void whenDeserializingActivityThenResultIsInstanceOfActivity() throws Exception } - @Test - void whenDeserializingActivityThenObjectTypeIsExpected() throws Exception { - - final File file = ResourceUtils.getFile("classpath:activity/activity_with_object_type.json"); - - // When Deserializing Activity - final Activity result = objectMapper.readValue(file, Activity.class); - - // Then Object Type Is Expected - assertThat(result.getObjectType(), is(ObjectType.ACTIVITY)); - - } - @Test void whenDeserializingActivityThenIdIsExpected() throws Exception { @@ -113,8 +100,6 @@ void whenCallingToStringThenResultIsExpected() throws IOException { final Activity activity = Activity.builder() - .objectType(ObjectType.ACTIVITY) - .id(URI.create("http://www.example.co.uk/exampleactivity")) .definition(d -> d.addDescription(Locale.US, @@ -127,7 +112,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, is( - "Activity(objectType=ACTIVITY, id=http://www.example.co.uk/exampleactivity, definition=ActivityDefinition(name=null, description={en_US=A simple Experience API statement. Note that the LRS does not need to have any prior information about the Actor (learner), the verb, or the Activity/object.}, type=null, moreInfo=null, interactionType=null, correctResponsesPattern=null, choices=null, scale=null, source=null, target=null, steps=null, extensions=null))")); + "Activity(id=http://www.example.co.uk/exampleactivity, definition=ActivityDefinition(name=null, description={en_US=A simple Experience API statement. Note that the LRS does not need to have any prior information about the Actor (learner), the verb, or the Activity/object.}, type=null, moreInfo=null, interactionType=null, correctResponsesPattern=null, choices=null, scale=null, source=null, target=null, steps=null, extensions=null))")); } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/ContextActivitiesTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/ContextActivitiesTests.java index b08e4051..95eecf32 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/ContextActivitiesTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/ContextActivitiesTests.java @@ -131,7 +131,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, is( - "ContextActivities(parent=[Activity(objectType=ACTIVITY, id=https://example.com/activity/1, definition=null)], grouping=[Activity(objectType=ACTIVITY, id=https://example.com/activity/2, definition=null)], category=[Activity(objectType=ACTIVITY, id=https://example.com/activity/3, definition=null)], other=[Activity(objectType=ACTIVITY, id=https://example.com/activity/4, definition=null)])")); + "ContextActivities(parent=[Activity(id=https://example.com/activity/1, definition=null)], grouping=[Activity(id=https://example.com/activity/2, definition=null)], category=[Activity(id=https://example.com/activity/3, definition=null)], other=[Activity(id=https://example.com/activity/4, definition=null)])")); } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/ContextTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/ContextTests.java index e54ff72f..1e834553 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/ContextTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/ContextTests.java @@ -268,7 +268,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, is( - "Context(registration=1d527164-ed0d-4b1d-9f9b-39aab0e4a089, instructor=Agent(super=Actor(name=Andrew Downes, mbox=mailto:andrew@example.co.uk, mboxSha1sum=null, openid=null, account=null), objectType=null), team=Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=null), objectType=GROUP, member=null), contextActivities=ContextActivities(parent=[Activity(objectType=ACTIVITY, id=https://example.com/activity/1, definition=null)], grouping=[Activity(objectType=ACTIVITY, id=https://example.com/activity/2, definition=null)], category=[Activity(objectType=ACTIVITY, id=https://example.com/activity/3, definition=null)], other=[Activity(objectType=ACTIVITY, id=https://example.com/activity/4, definition=null)]), revision=revision, platform=platform, language=en, statement=StatementReference(objectType=null, id=e9b6b9ed-ef48-4986-9b86-2ef697578bf7), extensions={http://url=www.example.com})")); + "Context(registration=1d527164-ed0d-4b1d-9f9b-39aab0e4a089, instructor=Agent(super=Actor(name=Andrew Downes, mbox=mailto:andrew@example.co.uk, mboxSha1sum=null, openid=null, account=null)), team=Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=null), member=null), contextActivities=ContextActivities(parent=[Activity(id=https://example.com/activity/1, definition=null)], grouping=[Activity(id=https://example.com/activity/2, definition=null)], category=[Activity(id=https://example.com/activity/3, definition=null)], other=[Activity(id=https://example.com/activity/4, definition=null)]), revision=revision, platform=platform, language=en, statement=StatementReference(id=e9b6b9ed-ef48-4986-9b86-2ef697578bf7), extensions={http://url=www.example.com})")); } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/GroupTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/GroupTests.java index cd40484e..0765f1ea 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/GroupTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/GroupTests.java @@ -102,7 +102,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, is( - "Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=Account(homePage=http://example.com/homePage, name=GroupAccount)), objectType=GROUP, member=[Agent(super=Actor(name=Member 1, mbox=mailto:member1@example.com, mboxSha1sum=null, openid=null, account=null), objectType=null), Agent(super=Actor(name=Member 2, mbox=null, mboxSha1sum=null, openid=https://example.com/openId, account=null), objectType=null)])")); + "Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=Account(homePage=http://example.com/homePage, name=GroupAccount)), member=[Agent(super=Actor(name=Member 1, mbox=mailto:member1@example.com, mboxSha1sum=null, openid=null, account=null)), Agent(super=Actor(name=Member 2, mbox=null, mboxSha1sum=null, openid=https://example.com/openId, account=null))])")); } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/StatementReferenceTest.java b/xapi-model/src/test/java/dev/learning/xapi/model/StatementReferenceTest.java index bf2e4d4c..4a04c3ba 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/StatementReferenceTest.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/StatementReferenceTest.java @@ -91,7 +91,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, - is("StatementReference(objectType=null, id=099bbde8-780e-483f-8181-128393db0f53)")); + is("StatementReference(id=099bbde8-780e-483f-8181-128393db0f53)")); } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/SubStatementTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/SubStatementTests.java index 1fb74bcc..47f6214c 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/SubStatementTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/SubStatementTests.java @@ -350,7 +350,7 @@ void whenCallingToStringThenResultIsExpected() throws IOException { // Then Result Is Expected assertThat(result, is( - "SubStatement(objectType=null, actor=Agent(super=Actor(name=null, mbox=mailto:agent@example.com, mboxSha1sum=null, openid=null, account=null), objectType=null), verb=Verb(id=http://example.com/confirmed, display={en=confirmed}), object=StatementReference(objectType=STATEMENTREF, id=9e13cefd-53d3-4eac-b5ed-2cf6693903bb), result=Result(score=Score(scaled=1.0, raw=1.0, min=0.0, max=5.0), success=true, completion=true, response=test, duration=P1D, extensions=null), context=Context(registration=6d969975-8d7e-4506-ac19-877c57f2921a, instructor=Agent(super=Actor(name=null, mbox=mailto:agent@example.com, mboxSha1sum=null, openid=null, account=null), objectType=null), team=Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=null), objectType=GROUP, member=null), contextActivities=ContextActivities(parent=[Activity(objectType=ACTIVITY, id=http://www.example.co.uk/exampleactivity, definition=null)], grouping=[Activity(objectType=ACTIVITY, id=http://www.example.co.uk/exampleactivity, definition=null)], category=[Activity(objectType=ACTIVITY, id=http://www.example.co.uk/exampleactivity, definition=null)], other=[Activity(objectType=ACTIVITY, id=http://www.example.co.uk/exampleactivity, definition=null)]), revision=revision, platform=platform, language=en, statement=StatementReference(objectType=null, id=9e13cefd-53d3-4eac-b5ed-2cf6693903bb), extensions={http://url=www.example.com}), timestamp=2015-11-18T11:17:00Z, attachments=[Attachment(usageType=http://example.com, display={en=value}, description={en=value}, contentType=file, length=123, sha2=123, fileUrl=http://example.com)])")); + "SubStatement(actor=Agent(super=Actor(name=null, mbox=mailto:agent@example.com, mboxSha1sum=null, openid=null, account=null)), verb=Verb(id=http://example.com/confirmed, display={en=confirmed}), object=StatementReference(id=9e13cefd-53d3-4eac-b5ed-2cf6693903bb), result=Result(score=Score(scaled=1.0, raw=1.0, min=0.0, max=5.0), success=true, completion=true, response=test, duration=P1D, extensions=null), context=Context(registration=6d969975-8d7e-4506-ac19-877c57f2921a, instructor=Agent(super=Actor(name=null, mbox=mailto:agent@example.com, mboxSha1sum=null, openid=null, account=null)), team=Group(super=Actor(name=Example Group, mbox=null, mboxSha1sum=null, openid=null, account=null), member=null), contextActivities=ContextActivities(parent=[Activity(id=http://www.example.co.uk/exampleactivity, definition=null)], grouping=[Activity(id=http://www.example.co.uk/exampleactivity, definition=null)], category=[Activity(id=http://www.example.co.uk/exampleactivity, definition=null)], other=[Activity(id=http://www.example.co.uk/exampleactivity, definition=null)]), revision=revision, platform=platform, language=en, statement=StatementReference(id=9e13cefd-53d3-4eac-b5ed-2cf6693903bb), extensions={http://url=www.example.com}), timestamp=2015-11-18T11:17:00Z, attachments=[Attachment(usageType=http://example.com, display={en=value}, description={en=value}, contentType=file, length=123, sha2=123, fileUrl=http://example.com)])")); } diff --git a/xapi-model/src/test/resources/agent/agent_with_account.json b/xapi-model/src/test/resources/agent/agent_with_account.json index 9213e34e..50a582c7 100644 --- a/xapi-model/src/test/resources/agent/agent_with_account.json +++ b/xapi-model/src/test/resources/agent/agent_with_account.json @@ -1,4 +1,5 @@ { + "objectType": "Agent", "name": "A N Other", "account": { "name": "another", diff --git a/xapi-model/src/test/resources/agent/agent_with_mbox.json b/xapi-model/src/test/resources/agent/agent_with_mbox.json index bd7805f0..61261de5 100644 --- a/xapi-model/src/test/resources/agent/agent_with_mbox.json +++ b/xapi-model/src/test/resources/agent/agent_with_mbox.json @@ -1,4 +1,5 @@ { + "objectType": "Agent", "name": "A N Other", "mbox": "mailto:other@example.com" } diff --git a/xapi-model/src/test/resources/agent/agent_with_mbox_sha1sum.json b/xapi-model/src/test/resources/agent/agent_with_mbox_sha1sum.json index 2b4f2421..d2386a6d 100644 --- a/xapi-model/src/test/resources/agent/agent_with_mbox_sha1sum.json +++ b/xapi-model/src/test/resources/agent/agent_with_mbox_sha1sum.json @@ -1,4 +1,5 @@ { + "objectType": "Agent", "name": "A N Other", "mbox_sha1sum": "1234" } diff --git a/xapi-model/src/test/resources/agent/agent_with_name.json b/xapi-model/src/test/resources/agent/agent_with_name.json index bd7805f0..61261de5 100644 --- a/xapi-model/src/test/resources/agent/agent_with_name.json +++ b/xapi-model/src/test/resources/agent/agent_with_name.json @@ -1,4 +1,5 @@ { + "objectType": "Agent", "name": "A N Other", "mbox": "mailto:other@example.com" } diff --git a/xapi-model/src/test/resources/agent/agent_with_openid.json b/xapi-model/src/test/resources/agent/agent_with_openid.json index cc967d90..cbfed446 100644 --- a/xapi-model/src/test/resources/agent/agent_with_openid.json +++ b/xapi-model/src/test/resources/agent/agent_with_openid.json @@ -1,4 +1,5 @@ { + "objectType": "Agent", "name": "A N Other", "openid": "1234" } diff --git a/xapi-model/src/test/resources/context/context.json b/xapi-model/src/test/resources/context/context.json index 7e646aff..06d476a4 100644 --- a/xapi-model/src/test/resources/context/context.json +++ b/xapi-model/src/test/resources/context/context.json @@ -4,6 +4,7 @@ "platform": "platform", "language": "en", "instructor": { + "objectType": "Agent", "name": "Andrew Downes", "mbox": "mailto:andrew@example.co.uk" }, diff --git a/xapi-model/src/test/resources/context/context_with_group_instructor.json b/xapi-model/src/test/resources/context/context_with_group_instructor.json index 1e69c06e..a9497a0e 100644 --- a/xapi-model/src/test/resources/context/context_with_group_instructor.json +++ b/xapi-model/src/test/resources/context/context_with_group_instructor.json @@ -3,10 +3,12 @@ "objectType":"Group", "member":[ { + "objectType": "Agent", "name":"Leader 1", "mbox":"mailto:leader1@example.com" }, { + "objectType": "Agent", "name":"Leader 2", "mbox":"mailto:leader2@example.com" } diff --git a/xapi-model/src/test/resources/group/group.json b/xapi-model/src/test/resources/group/group.json index 3d7463ab..4cc913f6 100644 --- a/xapi-model/src/test/resources/group/group.json +++ b/xapi-model/src/test/resources/group/group.json @@ -7,10 +7,12 @@ "objectType": "Group", "member": [ { + "objectType": "Agent", "name": "Member 1", "mbox": "mailto:member1@example.com" }, { + "objectType": "Agent", "name": "Member 2", "openid": "https://example.com/openId" } From 25b05ec8dba9a857f3a7ae38a09d6b3f3027349c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 16:22:00 +0000 Subject: [PATCH 21/23] fixup --- .../src/main/java/dev/learning/xapi/model/Group.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index fa79c34c..c7c3cf79 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -47,13 +47,6 @@ public abstract static class Builder> // This static class extends the lombok builder. - protected ObjectType objectType = ObjectType.GROUP; - - protected Builder objectType(ObjectType objectType) { - this.objectType = objectType; - return self(); - } - /** * Consumer Builder for member. * From 309e86f495be4ea28a8f8fa0a221a9263400bdb1 Mon Sep 17 00:00:00 2001 From: Thomas Turrell-Croft Date: Wed, 8 Mar 2023 17:34:14 +0000 Subject: [PATCH 22/23] Update context_with_group_instructor.json --- .../resources/context/context_with_group_instructor.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xapi-model/src/test/resources/context/context_with_group_instructor.json b/xapi-model/src/test/resources/context/context_with_group_instructor.json index a9497a0e..8d11dc3d 100644 --- a/xapi-model/src/test/resources/context/context_with_group_instructor.json +++ b/xapi-model/src/test/resources/context/context_with_group_instructor.json @@ -3,15 +3,15 @@ "objectType":"Group", "member":[ { - "objectType": "Agent", + "objectType": "Agent", "name":"Leader 1", "mbox":"mailto:leader1@example.com" }, { - "objectType": "Agent", + "objectType": "Agent", "name":"Leader 2", "mbox":"mailto:leader2@example.com" } ] } -} \ No newline at end of file +} From 45657f35251eaa4e45974d9dcf13b95093560e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 17:43:10 +0000 Subject: [PATCH 23/23] remove duplicated test --- .../learning/xapi/client/XapiClientTests.java | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 4ad611ab..6feeb2a0 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -345,8 +345,8 @@ void whenGettingVoidedStatementThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) - .block(); + client.getVoidedStatement( + r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))).block(); final RecordedRequest recordedRequest = mockWebServer.takeRequest(); @@ -1696,22 +1696,6 @@ void whenGettingActivityByStringThenMethodIsGet() throws InterruptedException { assertThat(recordedRequest.getMethod(), is("GET")); } - @Test - void whenGettingActivityByStringThenMethodIsGet() throws InterruptedException { - - mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); - - // When Getting Activity By String - client - .getActivity(r -> r.activityId("https://example.com/activity/simplestatement")) - .block(); - - RecordedRequest recordedRequest = mockWebServer.takeRequest(); - - // Then Method Is Get - assertThat(recordedRequest.getMethod(), is("GET")); - } - @Test void whenGettingActivityThenPathIsExpected() throws InterruptedException {