Skip to content

Commit

Permalink
Add tests for ditto-sudo header
Browse files Browse the repository at this point in the history
Signed-off-by: Yannic Klem <yannic.klem@bosch.io>
  • Loading branch information
Yannic92 committed Jun 25, 2021
1 parent c3794a9 commit 2a850f0
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,12 @@
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;

import org.eclipse.ditto.json.JsonArray;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;
import org.eclipse.ditto.json.JsonValue;
import org.eclipse.ditto.base.model.acks.AcknowledgementRequest;
import org.eclipse.ditto.base.model.auth.AuthorizationContext;
import org.eclipse.ditto.base.model.auth.AuthorizationModelFactory;
Expand All @@ -52,6 +45,11 @@
import org.eclipse.ditto.base.model.headers.entitytag.EntityTagMatchers;
import org.eclipse.ditto.base.model.headers.metadata.MetadataHeaders;
import org.eclipse.ditto.base.model.json.JsonSchemaVersion;
import org.eclipse.ditto.json.JsonArray;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;
import org.eclipse.ditto.json.JsonValue;

/**
* Abstract immutable implementation of {@link org.eclipse.ditto.base.model.headers.DittoHeaders} which is heavily based on {@link java.util.AbstractMap}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,6 @@

import org.assertj.core.util.Lists;
import org.assertj.core.util.Maps;
import org.eclipse.ditto.json.JsonArray;
import org.eclipse.ditto.json.JsonCollectors;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonField;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;
import org.eclipse.ditto.json.JsonValue;
import org.eclipse.ditto.base.model.acks.AcknowledgementLabel;
import org.eclipse.ditto.base.model.acks.AcknowledgementRequest;
import org.eclipse.ditto.base.model.acks.DittoAcknowledgementLabel;
Expand All @@ -52,6 +45,13 @@
import org.eclipse.ditto.base.model.headers.metadata.MetadataHeaderKey;
import org.eclipse.ditto.base.model.headers.metadata.MetadataHeaders;
import org.eclipse.ditto.base.model.json.JsonSchemaVersion;
import org.eclipse.ditto.json.JsonArray;
import org.eclipse.ditto.json.JsonCollectors;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonField;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;
import org.eclipse.ditto.json.JsonValue;
import org.junit.Test;

import nl.jqno.equalsverifier.EqualsVerifier;
Expand Down Expand Up @@ -107,6 +107,7 @@ public final class ImmutableDittoHeadersTest {
private static final boolean KNOWN_IS_WEAK_ACK = false;
private static final boolean KNOWN_POLICY_ENFORCER_INVALIDATED_PREEMPTIVELY = true;
private static final List<String> KNOWN_JOURNAL_TAGS = Lists.list("tag-a", "tag-b");
private static final boolean KNOWN_IS_SUDO = true;


static {
Expand Down Expand Up @@ -164,6 +165,7 @@ public void settingAllKnownHeadersWorksAsExpected() {
String.valueOf(KNOWN_POLICY_ENFORCER_INVALIDATED_PREEMPTIVELY))
.putHeader(DittoHeaderDefinition.EVENT_JOURNAL_TAGS.getKey(),
charSequencesToJsonArray(KNOWN_JOURNAL_TAGS).toString())
.putHeader(DittoHeaderDefinition.DITTO_SUDO.getKey(), String.valueOf(KNOWN_IS_SUDO))
.build();

assertThat(underTest).isEqualTo(expectedHeaderMap);
Expand Down Expand Up @@ -295,6 +297,31 @@ public void isDryRunReturnsExpected() {
assertThat(underTest.isDryRun()).isTrue();
}

@Test
public void isSudoIsFalseOnMissingHeader() {
final DittoHeaders underTest = DittoHeaders.empty();

assertThat(underTest.isSudo()).isFalse();
}

@Test
public void isSudoIsFalseWhenFalse() {
final DittoHeaders underTest = DittoHeaders.newBuilder()
.putHeader(DittoHeaderDefinition.DITTO_SUDO.getKey(), "false")
.build();

assertThat(underTest.isSudo()).isFalse();
}

@Test
public void isSudoIsTrueWhenTrue() {
final DittoHeaders underTest = DittoHeaders.newBuilder()
.putHeader(DittoHeaderDefinition.DITTO_SUDO.getKey(), "true")
.build();

assertThat(underTest.isSudo()).isTrue();
}

@Test
public void getRequestedAckLabelsReturnsExpected() {
final DittoHeaders underTest = DittoHeaders.newBuilder()
Expand Down Expand Up @@ -382,6 +409,7 @@ public void toJsonReturnsExpected() {
KNOWN_POLICY_ENFORCER_INVALIDATED_PREEMPTIVELY)
.set(DittoHeaderDefinition.EVENT_JOURNAL_TAGS.getKey(),
charSequencesToJsonArray(KNOWN_JOURNAL_TAGS))
.set(DittoHeaderDefinition.DITTO_SUDO.getKey(), KNOWN_IS_SUDO)
.build();
final Map<String, String> allKnownHeaders = createMapContainingAllKnownHeaders();

Expand Down Expand Up @@ -605,6 +633,7 @@ private static Map<String, String> createMapContainingAllKnownHeaders() {
String.valueOf(KNOWN_POLICY_ENFORCER_INVALIDATED_PREEMPTIVELY));
result.put(DittoHeaderDefinition.EVENT_JOURNAL_TAGS.getKey(),
charSequencesToJsonArray(KNOWN_JOURNAL_TAGS).toString());
result.put(DittoHeaderDefinition.DITTO_SUDO.getKey(), String.valueOf(KNOWN_IS_SUDO));

return result;
}
Expand Down

0 comments on commit 2a850f0

Please sign in to comment.