From 0f68a2436bf451d9a907e28a594b573dd45fd1c6 Mon Sep 17 00:00:00 2001 From: Mark Kuhn Date: Mon, 22 Aug 2022 15:48:45 -0700 Subject: [PATCH 1/3] move buildspecs inline --- buildspecs/buildspec.canary.yml | 21 --------------------- buildspecs/buildspec.release.yml | 17 ----------------- buildspecs/buildspec.yml | 21 --------------------- 3 files changed, 59 deletions(-) delete mode 100644 buildspecs/buildspec.canary.yml delete mode 100644 buildspecs/buildspec.release.yml delete mode 100644 buildspecs/buildspec.yml diff --git a/buildspecs/buildspec.canary.yml b/buildspecs/buildspec.canary.yml deleted file mode 100644 index 35e33c5f..00000000 --- a/buildspecs/buildspec.canary.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: 0.2 - -env: - variables: - AWS_REGION: us-west-2 - parameter-store: - AWS_ACCESS_KEY_ID: AccessKey - AWS_SECRET_ACCESS_KEY: SecretKey -phases: - install: - runtime-versions: - java: corretto11 - commands: - # start docker - # https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker-custom-image.html#sample-docker-custom-image-files - - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2& - - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" - build: - commands: - - ./gradlew build - - ./bin/deploy-canary.sh diff --git a/buildspecs/buildspec.release.yml b/buildspecs/buildspec.release.yml deleted file mode 100644 index 6ac0735d..00000000 --- a/buildspecs/buildspec.release.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: 0.2 - -env: - variables: - AWS_REGION: us-west-2 - parameter-store: - ORG_GRADLE_PROJECT_signingKey: emf_java_signing_key - ORG_GRADLE_PROJECT_signingPassword: emf_java_signing_password - mavenUserName: mavenUserName - mavenPassword: mavenPassword -phases: - install: - runtime-versions: - java: corretto11 - build: - commands: - - ./gradlew publish diff --git a/buildspecs/buildspec.yml b/buildspecs/buildspec.yml deleted file mode 100644 index 31b5b135..00000000 --- a/buildspecs/buildspec.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: 0.2 - -env: - variables: - AWS_REGION: us-west-2 - parameter-store: - AWS_ACCESS_KEY_ID: AccessKey - AWS_SECRET_ACCESS_KEY: SecretKey -phases: - install: - runtime-versions: - java: corretto11 - commands: - # start docker - # https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker-custom-image.html#sample-docker-custom-image-files - - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2& - - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" - build: - commands: - - ./gradlew build - - ./gradlew integ From 8fa4a37c216188567e499a6b126d51aa2fec2329 Mon Sep 17 00:00:00 2001 From: Mark Kuhn Date: Mon, 22 Aug 2022 17:44:57 -0700 Subject: [PATCH 2/3] styling improvements --- examples/lambda/src/main/java/Handler.java | 4 +- .../emf/config/Configuration.java | 47 ++++++++++++++----- .../emf/config/SystemWrapper.java | 7 ++- .../environment/AgentBasedEnvironment.java | 2 +- .../emf/environment/Environment.java | 12 +++-- .../emf/environment/EnvironmentProvider.java | 13 +++-- .../emf/environment/LambdaEnvironment.java | 5 +- .../emf/environment/ResourceFetcher.java | 10 +++- .../emf/model/MetricDefinition.java | 11 ++++- .../emf/model/MetricDirective.java | 12 ++++- .../emf/model/MetricsContext.java | 45 ++++++++++++------ .../cloudwatchlogs/emf/model/RootNode.java | 14 ++++-- .../emf/serializers/InstantDeserializer.java | 5 +- .../emf/serializers/InstantSerializer.java | 10 ++-- .../emf/serializers/UnitDeserializer.java | 14 +++--- .../emf/serializers/UnitSerializer.java | 11 +++-- .../cloudwatchlogs/emf/sinks/AgentSink.java | 6 ++- .../cloudwatchlogs/emf/sinks/Endpoint.java | 12 +++-- .../cloudwatchlogs/emf/util/IOUtils.java | 7 ++- .../cloudwatchlogs/emf/util/Jackson.java | 7 ++- .../cloudwatchlogs/emf/util/StringUtils.java | 3 ++ .../emf/config/ConfigurationTest.java | 20 ++++---- .../EnvironmentConfigurationProviderTest.java | 14 +++--- .../environment/DefaultEnvironmentTest.java | 17 +++---- .../emf/environment/EC2EnvironmentTest.java | 18 +++---- .../emf/environment/ECSEnvironmentTest.java | 35 +++++++------- .../environment/EnvironmentProviderTest.java | 8 ++-- .../environment/LambdaEnvironmentTest.java | 14 +++--- .../emf/environment/LocalEnvironmentTest.java | 18 +++---- .../emf/environment/ResourceFetcherTest.java | 19 ++++---- .../emf/logger/MetricsLoggerTest.java | 43 +++++++++-------- .../emf/model/MetadataTest.java | 22 +++++---- .../emf/model/MetricDefinitionTest.java | 12 +++-- .../emf/model/MetricDirectiveTest.java | 36 +++++++------- .../emf/model/MetricsContextTest.java | 13 +++-- .../emf/model/RootNodeTest.java | 35 +++++++------- .../emf/sinks/AgentSinkTest.java | 19 +++++--- .../emf/sinks/EndpointTest.java | 4 +- .../emf/sinks/MultiSinkTest.java | 7 ++- .../emf/sinks/ProtocolTest.java | 12 ++--- .../cloudwatchlogs/emf/util/IOUtilsTest.java | 6 ++- 41 files changed, 382 insertions(+), 247 deletions(-) diff --git a/examples/lambda/src/main/java/Handler.java b/examples/lambda/src/main/java/Handler.java index 2c24d653..913dc06a 100644 --- a/examples/lambda/src/main/java/Handler.java +++ b/examples/lambda/src/main/java/Handler.java @@ -7,10 +7,10 @@ import java.util.HashMap; import java.util.Map; -public class Handler implements RequestHandler, String> { +public class Handler implements RequestHandler, String> { @Override - public String handleRequest(Map event, Context context) { + public String handleRequest(Map event, Context context) { String response = "200 OK"; MetricsLogger logger = new MetricsLogger(); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java b/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java index a65b0e71..ff2c1788 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java @@ -17,6 +17,7 @@ package software.amazon.cloudwatchlogs.emf.config; import java.util.Optional; + import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -25,28 +26,43 @@ import software.amazon.cloudwatchlogs.emf.environment.Environments; import software.amazon.cloudwatchlogs.emf.util.StringUtils; -/** Configuration for EMF logger. */ +/** + * Configuration for EMF logger. + */ @AllArgsConstructor @NoArgsConstructor public class Configuration { - /** The name of the service to use in the default dimensions. */ - @Setter private String serviceName; + /** + * The name of the service to use in the default dimensions. + */ + @Setter + private String serviceName; - /** The type of the service to use in the default dimensions. */ - @Setter private String serviceType; + /** + * The type of the service to use in the default dimensions. + */ + @Setter + private String serviceType; /** * The LogGroup name to use. This is only used for the Cloudwatch Agent in agent-based * environment. */ - @Setter private String logGroupName; + @Setter + private String logGroupName; - /** The LogStream name to use. This will be ignored when using the Lambda scope. */ - @Setter private String logStreamName; + /** + * The LogStream name to use. This will be ignored when using the Lambda scope. + */ + @Setter + private String logStreamName; - /** The endpoint to use to connect to the CloudWatch Agent. */ - @Setter private String agentEndpoint; + /** + * The endpoint to use to connect to the CloudWatch Agent. + */ + @Setter + private String agentEndpoint; /** * Environment override. This will short circuit auto-environment detection. Valid values @@ -54,10 +70,15 @@ public class Configuration { * metadata and sends over stdout - Agent: no decoration and sends over TCP - EC2: decorates * logs with EC2 metadata and sends over TCP */ - @Setter Environments environmentOverride; + @Setter + Environments environmentOverride; - /** Queue length for asynchronous sinks. */ - @Setter @Getter int asyncBufferSize = Constants.DEFAULT_ASYNC_BUFFER_SIZE; + /** + * Queue length for asynchronous sinks. + */ + @Setter + @Getter + int asyncBufferSize = Constants.DEFAULT_ASYNC_BUFFER_SIZE; public Optional getServiceName() { return getStringOptional(serviceName); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java b/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java index 91ef3069..97cd2b5e 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java @@ -16,8 +16,13 @@ package software.amazon.cloudwatchlogs.emf.config; -/** A wrapper class that can be used to mock 'System.getenv' with PowerMock. */ +/** + * A wrapper class that can be used to mock 'System.getenv' with PowerMock. + */ public class SystemWrapper { + private SystemWrapper() { + throw new IllegalStateException("Utility class"); + } public static String getenv(String name) { return System.getenv(name); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/AgentBasedEnvironment.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/AgentBasedEnvironment.java index f401dd1e..d42af59e 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/AgentBasedEnvironment.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/AgentBasedEnvironment.java @@ -30,7 +30,7 @@ public abstract class AgentBasedEnvironment implements Environment { private final Configuration config; private ISink sink; - public AgentBasedEnvironment(Configuration config) { + protected AgentBasedEnvironment(Configuration config) { this.config = config; } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java index 37c68930..58cc0b20 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java @@ -19,7 +19,9 @@ import software.amazon.cloudwatchlogs.emf.model.MetricsContext; import software.amazon.cloudwatchlogs.emf.sinks.ISink; -/** A runtime environment (e.g. Lambda, EKS, ECS, EC2). */ +/** + * A runtime environment (e.g. Lambda, EKS, ECS, EC2). + */ public interface Environment { /** @@ -50,9 +52,13 @@ public interface Environment { */ String getLogGroupName(); - /** @param context the context to configure with environment properties */ + /** + * @param context the context to configure with environment properties + */ void configureContext(MetricsContext context); - /** @return an appropriate sink for this environment */ + /** + * @return an appropriate sink for this environment + */ ISink getSink(); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java index 49522b7b..aa2f2775 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java @@ -20,12 +20,15 @@ import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; + import lombok.AllArgsConstructor; import lombok.Data; import software.amazon.cloudwatchlogs.emf.config.Configuration; import software.amazon.cloudwatchlogs.emf.config.EnvironmentConfigurationProvider; -/** A provider that will detect the environment. */ +/** + * A provider that will detect the environment. + */ public class EnvironmentProvider { private static Environment cachedEnvironment; private final Configuration config = EnvironmentConfigurationProvider.getConfig(); @@ -36,8 +39,8 @@ public class EnvironmentProvider { // Ordering of this array matters private final Environment[] environments = - new Environment[] { - lambdaEnvironment, ecsEnvironment, ec2Environment, defaultEnvironment + new Environment[]{ + lambdaEnvironment, ecsEnvironment, ec2Environment, defaultEnvironment }; public CompletableFuture resolveEnvironment() { @@ -64,7 +67,9 @@ public Environment getDefaultEnvironment() { return defaultEnvironment; } - /** A helper method to clean the cached environment in tests. */ + /** + * A helper method to clean the cached environment in tests. + */ void cleanResolvedEnvironment() { cachedEnvironment = null; } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java index 3a17ab3f..aa2e349c 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java @@ -17,12 +17,15 @@ package software.amazon.cloudwatchlogs.emf.environment; import java.util.Optional; + import software.amazon.cloudwatchlogs.emf.config.SystemWrapper; import software.amazon.cloudwatchlogs.emf.model.MetricsContext; import software.amazon.cloudwatchlogs.emf.sinks.ConsoleSink; import software.amazon.cloudwatchlogs.emf.sinks.ISink; -/** An environment stands for the AWS Lambda environment. */ +/** + * An environment stands for the AWS Lambda environment. + */ public class LambdaEnvironment implements Environment { private static final String AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; private static final String LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java index 61115e08..7835a445 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; + import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; @@ -25,6 +26,7 @@ import java.net.URI; import java.util.Collections; import java.util.List; + import lombok.extern.slf4j.Slf4j; import org.javatuples.Pair; import software.amazon.cloudwatchlogs.emf.exception.EMFClientException; @@ -34,7 +36,9 @@ @Slf4j public class ResourceFetcher { - /** Fetch a json object from a given uri and deserialize it to the specified class: clazz. */ + /** + * Fetch a json object from a given uri and deserialize it to the specified class: clazz. + */ T fetch(URI endpoint, Class clazz) { String response = doReadResource(endpoint, "GET", Collections.emptyList()); return Jackson.fromJsonString(response, clazz); @@ -49,7 +53,9 @@ T fetch(URI endpoint, String method, Class clazz, List> headers) { return doReadResource(endpoint, method, headers); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java index be9b9150..39afc881 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java @@ -20,16 +20,20 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; + import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NonNull; import software.amazon.cloudwatchlogs.emf.serializers.UnitDeserializer; import software.amazon.cloudwatchlogs.emf.serializers.UnitSerializer; -/** Represents the MetricDefinition of the EMF schema. */ +/** + * Represents the MetricDefinition of the EMF schema. + */ @AllArgsConstructor class MetricDefinition { @NonNull @@ -43,7 +47,10 @@ class MetricDefinition { @JsonDeserialize(using = UnitDeserializer.class) private Unit unit; - @JsonIgnore @NonNull @Getter private List values; + @JsonIgnore + @NonNull + @Getter + private List values; MetricDefinition(String name) { this(name, Unit.NONE, new ArrayList<>()); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java index 8d52094a..f2c350e2 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java @@ -18,11 +18,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; + import java.util.*; import java.util.stream.Collectors; + import lombok.*; -/** Represents the MetricDirective part of the EMF schema. */ +/** + * Represents the MetricDirective part of the EMF schema. + */ @AllArgsConstructor class MetricDirective { @Setter @@ -30,7 +34,11 @@ class MetricDirective { @JsonProperty("Namespace") private String namespace; - @JsonIgnore @Setter @Getter @With private Map metrics; + @JsonIgnore + @Setter + @Getter + @With + private Map metrics; @JsonIgnore @Getter(AccessLevel.PROTECTED) diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java index 11f393d0..7f4d1f06 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java @@ -17,15 +17,20 @@ package software.amazon.cloudwatchlogs.emf.model; import com.fasterxml.jackson.core.JsonProcessingException; + import java.time.Instant; import java.util.*; + import lombok.Getter; import software.amazon.cloudwatchlogs.emf.Constants; -/** Stores metrics and their associated properties and dimensions. */ +/** + * Stores metrics and their associated properties and dimensions. + */ public class MetricsContext { - @Getter private RootNode rootNode; + @Getter + private RootNode rootNode; private MetricDirective metricDirective; @@ -60,7 +65,9 @@ public MetricsContext( } } - /** @return the namespace. If the namespace is not set, it would return a default value. */ + /** + * @return the namespace. If the namespace is not set, it would return a default value. + */ public String getNamespace() { return metricDirective.getNamespace(); } @@ -74,7 +81,9 @@ public void setNamespace(String namespace) { metricDirective.setNamespace(namespace); } - /** @return the default dimension set. */ + /** + * @return the default dimension set. + */ public DimensionSet getDefaultDimensions() { return metricDirective.getDefaultDimensions(); } @@ -91,7 +100,7 @@ public void setDefaultDimensions(DimensionSet dimensionSet) { } public boolean hasDefaultDimensions() { - return getDefaultDimensions().getDimensionKeys().size() > 0; + return !getDefaultDimensions().getDimensionKeys().isEmpty(); } /** @@ -102,9 +111,9 @@ public boolean hasDefaultDimensions() { * metricContext.putMetric("Latency", 100, Unit.MILLISECONDS) * } * - * @param key Name of the metric + * @param key Name of the metric * @param value Value of the metric - * @param unit The unit of the metric + * @param unit The unit of the metric */ public void putMetric(String key, double value, Unit unit) { metricDirective.putMetric(key, value, unit); @@ -118,7 +127,7 @@ public void putMetric(String key, double value, Unit unit) { * metricContext.putMetric("Count", 10) * } * - * @param key Name of the metric + * @param key Name of the metric * @param value Value of the metric */ public void putMetric(String key, double value) { @@ -134,7 +143,7 @@ public void putMetric(String key, double value) { * metricContext.putProperty("Location", 'US') * } * - * @param name Name of the property + * @param name Name of the property * @param value Value of the property */ public void putProperty(String name, Object value) { @@ -166,13 +175,15 @@ public void putDimension(DimensionSet dimensionSet) { * } * * @param dimension the name of the dimension - * @param value the value associated with the dimension + * @param value the value associated with the dimension */ public void putDimension(String dimension, String value) { metricDirective.putDimensionSet(DimensionSet.of(dimension, value)); } - /** @return the list of dimensions that has been added, including default dimensions. */ + /** + * @return the list of dimensions that has been added, including default dimensions. + */ public List getDimensions() { return metricDirective.getAllDimensions(); } @@ -189,14 +200,16 @@ public void setDimensions(DimensionSet... dimensionSets) { /** * Add a key-value pair to the metadata * - * @param key the name of the key + * @param key the name of the key * @param value the value associated with the key */ public void putMetadata(String key, Object value) { rootNode.getAws().putCustomMetadata(key, value); } - /** @return timestamp field from the metadata. */ + /** + * @return timestamp field from the metadata. + */ public Instant getTimestamp() { return rootNode.getAws().getTimestamp(); } @@ -210,7 +223,9 @@ public void setTimestamp(Instant timestamp) { rootNode.getAws().setTimestamp(timestamp); } - /** @return Creates an independently flushable context. */ + /** + * @return Creates an independently flushable context. + */ public MetricsContext createCopyWithContext() { return new MetricsContext(metricDirective.copyWithoutMetrics()); } @@ -234,7 +249,7 @@ public List serialize() throws JsonProcessingException { Map metrics = new HashMap<>(); Queue metricDefinitions = new LinkedList<>(rootNode.metrics().values()); - while (metricDefinitions.size() > 0) { + while (!metricDefinitions.isEmpty()) { MetricDefinition metric = metricDefinitions.poll(); if (metrics.size() == Constants.MAX_METRICS_PER_EVENT diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java index 50d74e70..0654557e 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java @@ -22,14 +22,18 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; + import java.util.HashMap; import java.util.List; import java.util.Map; + import lombok.AllArgsConstructor; import lombok.Getter; import lombok.With; -/** Represents the root of the EMF schema. */ +/** + * Represents the root of the EMF schema. + */ @AllArgsConstructor @JsonFilter("emptyMetricFilter") class RootNode { @@ -57,7 +61,9 @@ Map getProperties() { return properties; } - /** Return the target members that are referenced by metrics, dimensions and properties. */ + /** + * Return the target members that are referenced by metrics, dimensions and properties. + */ @JsonAnyGetter Map getTargetMembers() { Map targetMembers = new HashMap<>(); @@ -72,7 +78,9 @@ Map getTargetMembers() { return targetMembers; } - /** Return a list of all dimensions that are referenced by each dimension set. */ + /** + * Return a list of all dimensions that are referenced by each dimension set. + */ Map getDimensions() { Map dimensions = new HashMap<>(); for (MetricDirective mc : aws.getCloudWatchMetrics()) { diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java index a929f48b..5cf507a4 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java @@ -19,10 +19,13 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + import java.io.IOException; import java.time.Instant; -/** Deserialize Instant from a Long epoch millisecond timestamp. */ +/** + * Deserialize Instant from a Long epoch millisecond timestamp. + */ public class InstantDeserializer extends StdDeserializer { InstantDeserializer() { this(null); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java index 854a07c6..d54188d0 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java @@ -17,13 +17,15 @@ package software.amazon.cloudwatchlogs.emf.serializers; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; + import java.io.IOException; import java.time.Instant; -/** Serialize Instant from a Long epoch millisecond timestamp. */ +/** + * Serialize Instant from a Long epoch millisecond timestamp. + */ public class InstantSerializer extends StdSerializer { InstantSerializer() { this(null); @@ -34,9 +36,7 @@ public class InstantSerializer extends StdSerializer { } @Override - public void serialize(Instant value, JsonGenerator jgen, SerializerProvider provider) - throws IOException, JsonProcessingException { - + public void serialize(Instant value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeNumber(value.toEpochMilli()); } } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java index 0a54cbdb..99b9b704 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java @@ -17,13 +17,16 @@ package software.amazon.cloudwatchlogs.emf.serializers; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + import java.io.IOException; + import software.amazon.cloudwatchlogs.emf.model.Unit; -/** JSON deserializer for StandardUnit type. */ +/** + * JSON deserializer for StandardUnit type. + */ public class UnitDeserializer extends StdDeserializer { UnitDeserializer() { this(null); @@ -34,11 +37,8 @@ public class UnitDeserializer extends StdDeserializer { } @Override - public Unit deserialize(JsonParser jp, DeserializationContext ctxt) - throws IOException, JsonProcessingException { - + public Unit deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { String value = jp.getValueAsString(); - Unit unit = Unit.fromValue(value); - return unit; + return Unit.fromValue(value); } } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java index 99afffac..f9f7a604 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java @@ -17,13 +17,16 @@ package software.amazon.cloudwatchlogs.emf.serializers; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; + import java.io.IOException; + import software.amazon.cloudwatchlogs.emf.model.Unit; -/** JSON serializer for Unit type. */ +/** + * JSON serializer for Unit type. + */ public class UnitSerializer extends StdSerializer { UnitSerializer() { this(null); @@ -34,9 +37,7 @@ public class UnitSerializer extends StdSerializer { } @Override - public void serialize(Unit value, JsonGenerator jgen, SerializerProvider provider) - throws IOException, JsonProcessingException { - + public void serialize(Unit value, JsonGenerator jgen, SerializerProvider provider) throws IOException { String str = value.toString(); jgen.writeString(str); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java index f061c38d..c9243764 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java @@ -17,12 +17,14 @@ package software.amazon.cloudwatchlogs.emf.sinks; import com.fasterxml.jackson.core.JsonProcessingException; + import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; + import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import software.amazon.cloudwatchlogs.emf.Constants; @@ -31,7 +33,9 @@ import software.amazon.cloudwatchlogs.emf.sinks.retry.RetryStrategy; import software.amazon.cloudwatchlogs.emf.util.StringUtils; -/** An sink connecting to an agent over a socket. */ +/** + * An sink connecting to an agent over a socket. + */ @Slf4j public class AgentSink implements ISink { private final String logGroupName; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java index 32c11083..60e03cb2 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java @@ -18,6 +18,7 @@ import java.net.URI; import java.net.URISyntaxException; + import lombok.Getter; import lombok.NonNull; import lombok.RequiredArgsConstructor; @@ -30,11 +31,16 @@ public class Endpoint { public static final Endpoint DEFAULT_TCP_ENDPOINT = new Endpoint("127.0.0.1", 25888, Protocol.TCP); - @Getter @NonNull private final String host; + @Getter + @NonNull + private final String host; - @Getter private final int port; + @Getter + private final int port; - @Getter @NonNull private final Protocol protocol; + @Getter + @NonNull + private final Protocol protocol; public static Endpoint fromURL(String endpoint) { URI parsedURI = null; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java b/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java index 3bfe0e6f..d3277c69 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java @@ -21,9 +21,14 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; + import org.slf4j.Logger; public class IOUtils { + private IOUtils() { + throw new IllegalStateException("Utility class"); + } + private static final int BUFFER_SIZE = 1024 * 4; /** @@ -60,7 +65,7 @@ public static String toString(InputStream is) throws IOException { /** * Closes the given Closeable quietly. * - * @param is the given closeable + * @param is the given closeable * @param log logger used to log any failure should the close fail */ public static void closeQuietly(Closeable is, Logger log) { diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java b/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java index 369b608f..0a239a30 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java @@ -22,6 +22,9 @@ import software.amazon.cloudwatchlogs.emf.exception.EMFClientException; public class Jackson { + private Jackson() { + throw new IllegalStateException("Utility class"); + } private static final ObjectMapper objectMapper = new ObjectMapper(); private static final ObjectWriter writer = objectMapper.writer(); @@ -38,9 +41,9 @@ public static String toJsonString(Object value) { * Returns the deserialized object from the given json string and target class; or null if the * given json string is null. * - * @param json the string to be deserialized + * @param json the string to be deserialized * @param clazz the expected object class - * @param the expected object type + * @param the expected object type * @return an object that is deserialized from the json string */ public static T fromJsonString(String json, Class clazz) { diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/util/StringUtils.java b/src/main/java/software/amazon/cloudwatchlogs/emf/util/StringUtils.java index 1465135c..9d26c4e1 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/util/StringUtils.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/util/StringUtils.java @@ -17,6 +17,9 @@ package software.amazon.cloudwatchlogs.emf.util; public class StringUtils { + private StringUtils() { + throw new IllegalStateException("Utility class"); + } public static boolean isNullOrEmpty(String value) { return value == null || value.isEmpty(); diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/config/ConfigurationTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/config/ConfigurationTest.java index 1859190a..e5a4bd65 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/config/ConfigurationTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/config/ConfigurationTest.java @@ -42,8 +42,8 @@ public void testReturnEmptyOrDefaultIfNotSet() { assertFalse(config.getServiceType().isPresent()); assertFalse(config.getServiceName().isPresent()); - assertEquals(config.getEnvironmentOverride(), Environments.Unknown); - assertEquals(config.getAsyncBufferSize(), 100); + assertEquals(Environments.Unknown, config.getEnvironmentOverride()); + assertEquals(100, config.getAsyncBufferSize()); } @Test @@ -60,7 +60,7 @@ public void testReturnEmptyIfStringValueIsBlank() { assertFalse(config.getLogStreamName().isPresent()); assertFalse(config.getServiceType().isPresent()); assertFalse(config.getServiceName().isPresent()); - assertEquals(config.getEnvironmentOverride(), Environments.Unknown); + assertEquals(Environments.Unknown, config.getEnvironmentOverride()); } @Test @@ -81,12 +81,12 @@ public void testReturnCorrectValueAfterSet() { config.setEnvironmentOverride(expectedEnvironment); config.setAsyncBufferSize(expectedAsyncBufferSize); - assertEquals(config.getAgentEndpoint().get(), expectedEndpoint); - assertEquals(config.getLogGroupName().get(), expectedLogGroupName); - assertEquals(config.getLogStreamName().get(), expectedLogStreamName); - assertEquals(config.getServiceType().get(), expectedServiceType); - assertEquals(config.getServiceName().get(), expectedServiceName); - assertEquals(config.getEnvironmentOverride(), expectedEnvironment); - assertEquals(config.getAsyncBufferSize(), expectedAsyncBufferSize); + assertEquals(expectedEndpoint, config.getAgentEndpoint().get()); + assertEquals(expectedLogGroupName, config.getLogGroupName().get()); + assertEquals(expectedLogStreamName, config.getLogStreamName().get()); + assertEquals(expectedServiceType, config.getServiceType().get()); + assertEquals(expectedServiceName, config.getServiceName().get()); + assertEquals(expectedEnvironment, config.getEnvironmentOverride()); + assertEquals(expectedAsyncBufferSize, config.getAsyncBufferSize()); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/config/EnvironmentConfigurationProviderTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/config/EnvironmentConfigurationProviderTest.java index 28c3b017..9e686070 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/config/EnvironmentConfigurationProviderTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/config/EnvironmentConfigurationProviderTest.java @@ -43,13 +43,13 @@ public void getGetConfig() { Configuration config = EnvironmentConfigurationProvider.createConfig(); - assertEquals(config.getServiceName().get(), "TestServiceName"); - assertEquals(config.getServiceType().get(), "TestServiceType"); - assertEquals(config.getLogGroupName().get(), "TestLogGroup"); - assertEquals(config.getLogStreamName().get(), "TestLogStream"); - assertEquals(config.getAgentEndpoint().get(), "Endpoint"); - assertEquals(config.getEnvironmentOverride(), Environments.Agent); - assertEquals(config.getAsyncBufferSize(), 9999); + assertEquals("TestServiceName", config.getServiceName().get()); + assertEquals("TestServiceType", config.getServiceType().get()); + assertEquals("TestLogGroup", config.getLogGroupName().get()); + assertEquals("TestLogStream", config.getLogStreamName().get()); + assertEquals("Endpoint", config.getAgentEndpoint().get()); + assertEquals(Environments.Agent, config.getEnvironmentOverride()); + assertEquals(9999, config.getAsyncBufferSize()); } @Test diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java index ecbd6c66..176b4ca9 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.when; import java.util.Optional; + import org.junit.Before; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.config.Configuration; @@ -39,33 +40,33 @@ public void setUp() { public void testGetName() { String serviceName = "TestService"; when(configuration.getServiceName()).thenReturn(Optional.of(serviceName)); - assertEquals(environment.getName(), serviceName); + assertEquals(serviceName, environment.getName()); } @Test public void testGetNameWhenNotConfigured() { when(configuration.getServiceName()).thenReturn(Optional.empty()); - assertEquals(environment.getName(), "Unknown"); + assertEquals("Unknown", environment.getName()); } @Test public void testGetType() { String serviceType = "TestServiceType"; when(configuration.getServiceType()).thenReturn(Optional.of(serviceType)); - assertEquals(environment.getType(), serviceType); + assertEquals(serviceType, environment.getType()); } @Test public void testGetTypeWhenNotConfigured() { when(configuration.getServiceType()).thenReturn(Optional.empty()); - assertEquals(environment.getType(), "Unknown"); + assertEquals("Unknown", environment.getType()); } @Test public void testGetLogStreamName() { String logStream = "TestLogStream"; when(configuration.getLogStreamName()).thenReturn(Optional.of(logStream)); - assertEquals(environment.getLogStreamName(), logStream); + assertEquals(logStream, environment.getLogStreamName()); } @Test @@ -73,14 +74,14 @@ public void testGetLogStreamNameWhenNotConfigured() { String serviceName = "TestService"; when(configuration.getLogStreamName()).thenReturn(Optional.empty()); when(configuration.getServiceName()).thenReturn(Optional.of(serviceName)); - assertEquals(environment.getLogStreamName(), ""); + assertEquals("", environment.getLogStreamName()); } @Test public void testGetLogGroupName() { String logGroup = "TestLogGroup"; when(configuration.getLogGroupName()).thenReturn(Optional.of(logGroup)); - assertEquals(environment.getLogGroupName(), logGroup); + assertEquals(logGroup, environment.getLogGroupName()); } @Test @@ -88,6 +89,6 @@ public void testGetLogLogNameWhenNotConfigured() { String serviceName = "TestService"; when(configuration.getLogGroupName()).thenReturn(Optional.empty()); when(configuration.getServiceName()).thenReturn(Optional.of(serviceName)); - assertEquals(environment.getLogGroupName(), serviceName + "-metrics"); + assertEquals(serviceName + "-metrics", environment.getLogGroupName()); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java index bab2f2d6..1ab860f8 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java @@ -22,7 +22,9 @@ import static org.mockito.Mockito.when; import com.github.javafaker.Faker; + import java.util.Optional; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -69,7 +71,7 @@ public void testProbeReturnTrue() { public void testGetTypeWhenNoMetadata() { when(fetcher.fetch(any(), any())).thenThrow(new EMFClientException("Invalid URL")); environment.probe(); - assertEquals(environment.getType(), Constants.UNKNOWN); + assertEquals(Constants.UNKNOWN, environment.getType()); } @Test @@ -78,7 +80,7 @@ public void testGetTypeReturnDefined() { when(fetcher.fetch(any(), any(), (Class) any(), any())) .thenReturn(new EC2Environment.EC2Metadata()); environment.probe(); - assertEquals(environment.getType(), "AWS::EC2::Instance"); + assertEquals("AWS::EC2::Instance", environment.getType()); } @Test @@ -87,7 +89,7 @@ public void testGetTypeFromConfiguration() { environment.probe(); String testType = faker.letterify("???"); when(config.getServiceType()).thenReturn(Optional.of(testType)); - assertEquals(environment.getType(), testType); + assertEquals(testType, environment.getType()); } @Test @@ -101,11 +103,11 @@ public void testConfigureContext() { MetricsContext context = new MetricsContext(); environment.configureContext(context); - assertEquals(context.getProperty("imageId"), metadata.getImageId()); - assertEquals(context.getProperty("instanceId"), metadata.getInstanceId()); - assertEquals(context.getProperty("instanceType"), metadata.getInstanceType()); - assertEquals(context.getProperty("privateIp"), metadata.getPrivateIp()); - assertEquals(context.getProperty("availabilityZone"), metadata.getAvailabilityZone()); + assertEquals(metadata.getImageId(), context.getProperty("imageId")); + assertEquals(metadata.getInstanceId(), context.getProperty("instanceId")); + assertEquals(metadata.getInstanceType(), context.getProperty("instanceType")); + assertEquals(metadata.getPrivateIp(), context.getProperty("privateIp")); + assertEquals(metadata.getAvailabilityZone(), context.getProperty("availabilityZone")); } private void getRandomMetadata(EC2Environment.EC2Metadata metadata) { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java index 475648fd..01f2a3f6 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java @@ -22,11 +22,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.github.javafaker.Faker; + import java.net.InetAddress; import java.net.UnknownHostException; import java.util.HashMap; import java.util.Optional; import java.util.concurrent.TimeUnit; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -41,7 +43,7 @@ import software.amazon.cloudwatchlogs.emf.model.MetricsContext; @RunWith(PowerMockRunner.class) -@PrepareForTest({SystemWrapper.class}) +@PrepareForTest({ SystemWrapper.class }) public class ECSEnvironmentTest { private Configuration config; private ECSEnvironment environment; @@ -85,7 +87,7 @@ public void testFormatImageName() { when(fetcher.fetch(any(), (ObjectMapper) any(), any())).thenReturn(metadata); assertTrue(environment.probe()); - assertEquals(environment.getName(), "testImage:latest"); + assertEquals("testImage:latest", environment.getName()); } @Test @@ -93,25 +95,25 @@ public void testGetNameFromConfig() { String serviceName = "testService"; when(config.getServiceName()).thenReturn(Optional.of(serviceName)); - assertEquals(environment.getName(), serviceName); + assertEquals(serviceName, environment.getName()); } @Test public void testGetNameReturnsUnknown() { when(config.getServiceName()).thenReturn(Optional.empty()); - assertEquals(environment.getName(), Constants.UNKNOWN); + assertEquals(Constants.UNKNOWN, environment.getName()); } @Test public void testGetType() { - assertEquals(environment.getType(), "AWS::ECS::Container"); + assertEquals("AWS::ECS::Container", environment.getType()); } @Test public void testGetTypeFromConfig() { String type = faker.letterify("????"); when(config.getServiceType()).thenReturn(Optional.of(type)); - assertEquals(environment.getType(), type); + assertEquals(type, environment.getType()); } @Test @@ -127,8 +129,7 @@ public void testSetFluentBit() { .thenReturn(new ECSEnvironment.ECSMetadata()); ArgumentCaptor argument = ArgumentCaptor.forClass(String.class); Mockito.verify(config, times(1)).setAgentEndpoint(argument.capture()); - assertEquals( - argument.getValue(), "tcp://" + fluentHost + ":" + Constants.DEFAULT_AGENT_PORT); + assertEquals("tcp://" + fluentHost + ":" + Constants.DEFAULT_AGENT_PORT, argument.getValue()); } @Test @@ -141,13 +142,12 @@ public void testGetLogGroupNameReturnEmpty() { environment.probe(); - assertEquals(environment.getLogGroupName(), ""); + assertEquals("", environment.getLogGroupName()); } @Test public void testGetLogGroupNameReturnNonEmpty() { - - assertEquals(environment.getLogGroupName(), Constants.UNKNOWN + "-metrics"); + assertEquals(Constants.UNKNOWN + "-metrics", environment.getLogGroupName()); } @Test @@ -164,17 +164,14 @@ public void testConfigureContext() throws UnknownHostException { MetricsContext context = new MetricsContext(); environment.configureContext(context); - assertEquals(context.getProperty("containerId"), InetAddress.getLocalHost().getHostName()); - assertEquals(context.getProperty("createdAt"), metadata.getCreatedAt()); - assertEquals(context.getProperty("startedAt"), metadata.getStartedAt()); - assertEquals( - context.getProperty("cluster"), metadata.labels.get("com.amazonaws.ecs.cluster")); - assertEquals( - context.getProperty("taskArn"), metadata.labels.get("com.amazonaws.ecs.task-arn")); + assertEquals(InetAddress.getLocalHost().getHostName(), context.getProperty("containerId")); + assertEquals(metadata.getCreatedAt(), context.getProperty("createdAt")); + assertEquals(metadata.getStartedAt(), context.getProperty("startedAt")); + assertEquals(metadata.labels.get("com.amazonaws.ecs.cluster"), context.getProperty("cluster")); + assertEquals(metadata.labels.get("com.amazonaws.ecs.task-arn"), context.getProperty("taskArn")); } private void getRandomMetadata(ECSEnvironment.ECSMetadata metadata) { - metadata.createdAt = faker.date().past(1, TimeUnit.DAYS).toString(); metadata.startedAt = faker.date().past(1, TimeUnit.DAYS).toString(); metadata.image = faker.letterify("?????"); diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java index 3407ce15..170ca303 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java @@ -22,7 +22,9 @@ import static org.powermock.api.mockito.PowerMockito.when; import com.github.javafaker.Faker; + import java.util.concurrent.CompletableFuture; + import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -173,7 +175,7 @@ public void testResolveEnvironmentEC2AndECSEnvs() throws Exception { DefaultEnvironment mockedDefaultEnv = mock(DefaultEnvironment.class); when(mockedDefaultEnv.probe()).thenReturn(true); - Environment[] envs = new Environment[] {mockedECSEnv, mockedEC2Env, mockedDefaultEnv}; + Environment[] envs = new Environment[]{mockedECSEnv, mockedEC2Env, mockedDefaultEnv}; FieldSetter.setField( environmentProvider, EnvironmentProvider.class.getDeclaredField("environments"), @@ -183,7 +185,7 @@ public void testResolveEnvironmentEC2AndECSEnvs() throws Exception { environmentProvider.cleanResolvedEnvironment(); Environment[] EC2FirstEnvs = - new Environment[] {mockedEC2Env, mockedECSEnv, mockedDefaultEnv}; + new Environment[]{mockedEC2Env, mockedECSEnv, mockedDefaultEnv}; FieldSetter.setField( environmentProvider, EnvironmentProvider.class.getDeclaredField("environments"), @@ -211,7 +213,7 @@ public Boolean answer(InvocationOnMock invocation) throws Throwable { return true; } }); - Environment[] envs = new Environment[] {mockedLambdaEnv, mockedDefaultEnv, mockedEC2Env}; + Environment[] envs = new Environment[]{mockedLambdaEnv, mockedDefaultEnv, mockedEC2Env}; FieldSetter.setField( environmentProvider, diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironmentTest.java index 9d7cf73f..7733662a 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironmentTest.java @@ -47,12 +47,12 @@ public void testGetNameReturnFunctionsName() { String expectedName = faker.name().name(); when(SystemWrapper.getenv("AWS_LAMBDA_FUNCTION_NAME")).thenReturn(expectedName); - assertEquals(lambda.getName(), expectedName); + assertEquals(expectedName, lambda.getName()); } @Test public void testGetTypeReturnCFNLambdaName() { - assertEquals(lambda.getType(), "AWS::Lambda::Function"); + assertEquals("AWS::Lambda::Function", lambda.getType()); } @Test @@ -60,7 +60,7 @@ public void testGetLogGroupNameReturnFunctionName() { String expectedName = faker.name().name(); when(SystemWrapper.getenv("AWS_LAMBDA_FUNCTION_NAME")).thenReturn(expectedName); - assertEquals(lambda.getLogGroupName(), expectedName); + assertEquals(expectedName, lambda.getLogGroupName()); } @Test @@ -78,9 +78,9 @@ public void testConfigureContextAddProperties() { lambda.configureContext(mc); - assertEquals(mc.getProperty("executionEnvironment"), expectedEnv); - assertEquals(mc.getProperty("functionVersion"), expectedVersion); - assertEquals(mc.getProperty("logStreamId"), expectedLogName); + assertEquals(expectedEnv, mc.getProperty("executionEnvironment")); + assertEquals(expectedVersion, mc.getProperty("functionVersion")); + assertEquals(expectedLogName, mc.getProperty("logStreamId")); assertNull(mc.getProperty("traceId")); } @@ -93,7 +93,7 @@ public void testContextWithTraceId() { lambda.configureContext(mc); - assertEquals(mc.getProperty("traceId"), expectedTraceId); + assertEquals(expectedTraceId, mc.getProperty("traceId")); } @Test diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java index 22a8407f..104fc71b 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java @@ -21,7 +21,9 @@ import static org.mockito.Mockito.when; import com.github.javafaker.Faker; + import java.util.Optional; + import org.junit.Before; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; @@ -41,48 +43,46 @@ public void setUp() { @Test public void testProbeReturnFalse() { - assertFalse(environment.probe()); } @Test public void testGetName() { when(config.getServiceName()).thenReturn(Optional.empty()); - assertEquals(environment.getName(), Constants.UNKNOWN); + assertEquals(Constants.UNKNOWN, environment.getName()); String name = faker.letterify("?????"); when(config.getServiceName()).thenReturn(Optional.of(name)); - assertEquals(environment.getName(), name); + assertEquals(name, environment.getName()); } @Test public void testGetType() { when(config.getServiceType()).thenReturn(Optional.empty()); - assertEquals(environment.getType(), Constants.UNKNOWN); + assertEquals(Constants.UNKNOWN, environment.getType()); String type = faker.letterify("?????"); when(config.getServiceType()).thenReturn(Optional.of(type)); - assertEquals(environment.getType(), type); + assertEquals(type, environment.getType()); } @Test public void testGetLogGroupName() { when(config.getLogGroupName()).thenReturn(Optional.empty()); - assertEquals(environment.getLogGroupName(), Constants.UNKNOWN + "-metrics"); + assertEquals(Constants.UNKNOWN + "-metrics", environment.getLogGroupName()); when(config.getLogGroupName()).thenReturn(Optional.empty()); String serviceName = faker.letterify("?????"); when(config.getServiceName()).thenReturn(Optional.of(serviceName)); - assertEquals(environment.getLogGroupName(), serviceName + "-metrics"); + assertEquals(serviceName + "-metrics", environment.getLogGroupName()); String logGroupName = faker.letterify("?????"); when(config.getLogGroupName()).thenReturn(Optional.of(logGroupName)); - assertEquals(environment.getLogGroupName(), logGroupName); + assertEquals(logGroupName, environment.getLogGroupName()); } @Test public void testGetSink() { - assertTrue(environment.getSink() instanceof ConsoleSink); assertSame(environment.getSink(), environment.getSink()); } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java index 92e20f5a..fb6d016b 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java @@ -22,11 +22,13 @@ import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.junit.WireMockRule; + import java.io.IOException; import java.net.ServerSocket; import java.net.URI; import java.net.URISyntaxException; import java.util.Collections; + import lombok.Data; import org.javatuples.Pair; import org.junit.Before; @@ -40,7 +42,8 @@ public class ResourceFetcherTest { private static URI endpoint; private static final String endpoint_path = "/fake/endpoint"; - @ClassRule public static WireMockRule mockServer = new WireMockRule(0); + @ClassRule + public static WireMockRule mockServer = new WireMockRule(0); @Before public void setUp() throws URISyntaxException { @@ -92,8 +95,8 @@ public void testReadDataWith200Response() { generateStub(200, "{\"name\":\"test\",\"size\":10}"); TestData data = fetcher.fetch(endpoint, TestData.class); - assertEquals(data.name, "test"); - assertEquals(data.size, 10); + assertEquals("test", data.name); + assertEquals(10, data.size); } @Test @@ -107,8 +110,8 @@ public void testReadDataWithHeaders200Response() { verify( getRequestedFor(urlEqualTo(endpoint_path)) .withHeader("X-mock-header-key", equalTo("headerValue"))); - assertEquals(data.name, "test"); - assertEquals(data.size, 10); + assertEquals("test", data.name); + assertEquals(10, data.size); } @Test @@ -120,7 +123,7 @@ public void testWithProvidedMethodAndHeadersWith200Response() { verify( putRequestedFor(urlEqualTo(endpoint_path)) .withHeader("X-mock-header-key", equalTo("headerValue"))); - assertEquals(data, "putResponseData"); + assertEquals("putResponseData", data); } @Test @@ -130,8 +133,8 @@ public void testReadCaseInsensitiveDataWith200Response() { objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); TestData data = fetcher.fetch(endpoint, objectMapper, TestData.class); - assertEquals(data.name, "test"); - assertEquals(data.size, 10); + assertEquals("test", data.name); + assertEquals(10, data.size); } @Test diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java index f6f6cb2a..30da80fc 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java @@ -24,6 +24,7 @@ import java.time.Instant; import java.util.List; import java.util.concurrent.CompletableFuture; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -58,7 +59,7 @@ public void testPutProperty() { logger.putProperty(propertyName, propertyValue); logger.flush(); - Assert.assertEquals(sink.getContext().getProperty(propertyName), propertyValue); + Assert.assertEquals(propertyValue, sink.getContext().getProperty(propertyName)); } @Test @@ -68,10 +69,10 @@ public void testPutDimension() { logger.putDimensions(DimensionSet.of(dimensionName, dimensionValue)); logger.flush(); - Assert.assertEquals(sink.getContext().getDimensions().size(), 1); + Assert.assertEquals(1, sink.getContext().getDimensions().size()); Assert.assertEquals( - sink.getContext().getDimensions().get(0).getDimensionValue(dimensionName), - dimensionValue); + dimensionValue, + sink.getContext().getDimensions().get(0).getDimensionValue(dimensionName)); } @Test @@ -88,9 +89,8 @@ public void testOverrideDefaultDimensions() { logger.setDimensions(DimensionSet.of(dimensionName, dimensionValue)); logger.flush(); - Assert.assertEquals(sink.getContext().getDimensions().size(), 1); - Assert.assertEquals( - sink.getContext().getDimensions().get(0).getDimensionValue(defaultDimName), null); + Assert.assertEquals(1, sink.getContext().getDimensions().size()); + Assert.assertNull(sink.getContext().getDimensions().get(0).getDimensionValue(defaultDimName)); } @Test @@ -102,11 +102,11 @@ public void testOverridePreviousDimensions() { logger.setDimensions(DimensionSet.of(dimensionName, dimensionValue)); logger.flush(); - Assert.assertEquals(sink.getContext().getDimensions().size(), 1); - Assert.assertEquals(sink.getContext().getDimensions().get(0).getDimensionKeys().size(), 1); + Assert.assertEquals(1, sink.getContext().getDimensions().size()); + Assert.assertEquals(1, sink.getContext().getDimensions().get(0).getDimensionKeys().size()); Assert.assertEquals( - sink.getContext().getDimensions().get(0).getDimensionValue(dimensionName), - dimensionValue); + dimensionValue, + sink.getContext().getDimensions().get(0).getDimensionValue(dimensionName)); } @Test @@ -116,7 +116,7 @@ public void testSetNamespace() { logger.setNamespace(namespace); logger.flush(); - Assert.assertEquals(sink.getContext().getNamespace(), namespace); + Assert.assertEquals(namespace, sink.getContext().getNamespace()); } @Test @@ -131,7 +131,7 @@ public void testSetTimestamp() { logger.setTimestamp(now); logger.flush(); - Assert.assertEquals(sink.getContext().getTimestamp(), now); + Assert.assertEquals(now, sink.getContext().getTimestamp()); } @Test @@ -178,11 +178,10 @@ public void testFlushWithDefaultDimensionDefined() { @Test public void testUseDefaultEnvironmentOnResolverException() { String serviceType = "TestServiceType"; - CompletableFuture future = - CompletableFuture.supplyAsync( - () -> { - throw new RuntimeException("UnExpected"); - }); + CompletableFuture future = CompletableFuture.supplyAsync( + () -> { + throw new RuntimeException("UnExpected"); + }); EnvironmentProvider envProvider = mock(EnvironmentProvider.class); when(envProvider.resolveEnvironment()).thenReturn(future); when(envProvider.getDefaultEnvironment()).thenReturn(environment); @@ -202,8 +201,8 @@ public void testNoDefaultDimensions() { logger.flush(); List dimensions = sink.getContext().getDimensions(); - assertTrue(dimensions.size() == 0); - assertTrue(sink.getLogEvents().size() == 1); + assertEquals(0, dimensions.size()); + assertEquals(1, sink.getLogEvents().size()); String logEvent = sink.getLogEvents().get(0); assertTrue(logEvent.contains("\"Dimensions\":[]")); @@ -267,7 +266,7 @@ public void testNoDimensionsAfterSetEmptyDimensionSetWithMultipleFlush() { private void expectDimension(String dimension, String value) { List dimensions = sink.getContext().getDimensions(); - assertEquals(dimensions.size(), 1); - assertEquals(dimensions.get(0).getDimensionValue(dimension), value); + assertEquals(1, dimensions.size()); + assertEquals(value, dimensions.get(0).getDimensionValue(dimension)); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java index 3d1c3c1e..6c4bb42e 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java @@ -21,9 +21,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.json.JsonMapper; + import java.time.Instant; import java.util.ArrayList; import java.util.Map; + import org.junit.Test; public class MetadataTest { @@ -37,11 +39,12 @@ public void testSerializeMetadata() throws JsonProcessingException { String output = objectMapper.writeValueAsString(metadata); Map metadata_map = - objectMapper.readValue(output, new TypeReference>() {}); + objectMapper.readValue(output, new TypeReference>() { + }); - assertEquals(metadata_map.keySet().size(), 2); - assertEquals(metadata_map.get("Timestamp"), now.toEpochMilli()); - assertEquals(metadata_map.get("CloudWatchMetrics"), new ArrayList()); + assertEquals(2, metadata_map.keySet().size()); + assertEquals(now.toEpochMilli(), metadata_map.get("Timestamp")); + assertEquals(new ArrayList<>(), metadata_map.get("CloudWatchMetrics")); } @Test @@ -57,11 +60,12 @@ public void testSerializeMetadataWithCustomValue() throws JsonProcessingExceptio String output = objectMapper.writeValueAsString(metadata); Map metadata_map = - objectMapper.readValue(output, new TypeReference>() {}); + objectMapper.readValue(output, new TypeReference>() { + }); - assertEquals(metadata_map.keySet().size(), 3); - assertEquals(metadata_map.get("Timestamp"), now.toEpochMilli()); - assertEquals(metadata_map.get("CloudWatchMetrics"), new ArrayList()); - assertEquals(metadata_map.get(property), expectedValue); + assertEquals(3, metadata_map.keySet().size()); + assertEquals(now.toEpochMilli(), metadata_map.get("Timestamp")); + assertEquals(new ArrayList<>(), metadata_map.get("CloudWatchMetrics")); + assertEquals(expectedValue, metadata_map.get(property)); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java index 2524eab4..e069d8ae 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java @@ -20,7 +20,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import java.util.Arrays; + +import java.util.List; + import org.junit.Test; public class MetricDefinitionTest { @@ -36,7 +38,7 @@ public void testSerializeMetricDefinitionWithoutUnit() throws JsonProcessingExce MetricDefinition metricDefinition = new MetricDefinition("Time"); String metricString = objectMapper.writeValueAsString(metricDefinition); - assertEquals(metricString, "{\"Name\":\"Time\",\"Unit\":\"None\"}"); + assertEquals("{\"Name\":\"Time\",\"Unit\":\"None\"}", metricString); } @Test @@ -45,15 +47,15 @@ public void testSerializeMetricDefinition() throws JsonProcessingException { MetricDefinition metricDefinition = new MetricDefinition("Time", Unit.MILLISECONDS, 10); String metricString = objectMapper.writeValueAsString(metricDefinition); - assertEquals(metricString, "{\"Name\":\"Time\",\"Unit\":\"Milliseconds\"}"); + assertEquals("{\"Name\":\"Time\",\"Unit\":\"Milliseconds\"}", metricString); } @Test public void testAddValue() { MetricDefinition md = new MetricDefinition("Time", Unit.MICROSECONDS, 10); - assertEquals(Arrays.asList(10d), md.getValues()); + assertEquals(List.of(10d), md.getValues()); md.addValue(20); - assertEquals(Arrays.asList(10d, 20d), md.getValues()); + assertEquals(List.of(10d, 20d), md.getValues()); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java index 50d1bf3b..ce88a19a 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java @@ -21,8 +21,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; + import java.util.Arrays; import java.util.Collections; + import org.junit.Test; public class MetricDirectiveTest { @@ -35,8 +37,8 @@ public void testDefaultNamespace() throws JsonProcessingException { String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } @Test @@ -47,8 +49,8 @@ public void testSetNamespace() throws JsonProcessingException { String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[]],\"Metrics\":[],\"Namespace\":\"test-lambda-metrics\"}"); + "{\"Dimensions\":[[]],\"Metrics\":[],\"Namespace\":\"test-lambda-metrics\"}", + serializedMetricDirective); } @Test @@ -59,8 +61,8 @@ public void testPutMetric() throws JsonProcessingException { String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[]],\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"None\"}],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[]],\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"None\"}],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } @Test @@ -71,21 +73,21 @@ public void testPutSameMetricMultipleTimes() { assertEquals(1, metricDirective.getAllMetrics().size()); MetricDefinition[] mds = metricDirective.getAllMetrics().toArray(new MetricDefinition[0]); - assertEquals(mds[0].getValues(), Arrays.asList(10d, 20d)); + assertEquals(Arrays.asList(10d, 20d), mds[0].getValues()); } @Test public void testPutMetricWithoutUnit() { MetricDirective metricDirective = new MetricDirective(); metricDirective.putMetric("Time", 10); - assertEquals(metricDirective.getMetrics().get("Time").getUnit(), Unit.NONE); + assertEquals(Unit.NONE, metricDirective.getMetrics().get("Time").getUnit()); } @Test public void testPutMetricWithUnit() { MetricDirective metricDirective = new MetricDirective(); metricDirective.putMetric("Time", 10, Unit.MILLISECONDS); - assertEquals(metricDirective.getMetrics().get("Time").getUnit(), Unit.MILLISECONDS); + assertEquals(Unit.MILLISECONDS, metricDirective.getMetrics().get("Time").getUnit()); } @Test @@ -97,8 +99,8 @@ public void testPutDimensions() throws JsonProcessingException { String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[\"Region\",\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[\"Region\",\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } @Test @@ -110,8 +112,8 @@ public void testPutMultipleDimensionSets() throws JsonProcessingException { String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[\"Region\"],[\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[\"Region\"],[\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } @Test @@ -133,8 +135,8 @@ public void testPutDimensionsWhenDefaultDimensionsDefined() throws JsonProcessin String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[\"Version\",\"Region\"],[\"Version\",\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[\"Version\",\"Region\"],[\"Version\",\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } @Test @@ -147,7 +149,7 @@ public void testPutDimensionsAfterSetDimensions() throws JsonProcessingException String serializedMetricDirective = objectMapper.writeValueAsString(metricDirective); assertEquals( - serializedMetricDirective, - "{\"Dimensions\":[[\"Version\"],[\"Region\"],[\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}"); + "{\"Dimensions\":[[\"Version\"],[\"Region\"],[\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}", + serializedMetricDirective); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java index 703a87c5..8a2fd8de 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java @@ -23,11 +23,13 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.json.JsonMapper; + import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; + import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; @@ -100,7 +102,7 @@ public void testSerializeAMetricWith101DataPoints() throws JsonProcessingExcepti expectedValues.add((double) i); } assertEquals(expectedValues, allMetrics.get(0).getValues()); - assertTrue(allMetrics.get(1).getValues().equals(Arrays.asList(100.0))); + assertEquals(List.of(100.0), allMetrics.get(1).getValues()); } @Test @@ -126,10 +128,10 @@ public void testSerializeMetricsWith101DataPoints() throws JsonProcessingExcepti expectedValues.add((double) i); } assertEquals(expectedValues, metricsFromEvent1.get(0).getValues()); - assertEquals(Arrays.asList(2.0), metricsFromEvent1.get(1).getValues()); + assertEquals(List.of(2.0), metricsFromEvent1.get(1).getValues()); assertEquals(1, metricsFromEvent2.size()); - assertEquals(Arrays.asList(100.0), metricsFromEvent2.get(0).getValues()); + assertEquals(List.of(100.0), metricsFromEvent2.get(0).getValues()); } @Test @@ -165,7 +167,7 @@ public void testSetTimestamp() throws JsonProcessingException { Map metadata = (Map) rootNode.get("_aws"); assertTrue(metadata.containsKey("Timestamp")); - assertEquals(metadata.get("Timestamp"), now.toEpochMilli()); + assertEquals(now.toEpochMilli(), metadata.get("Timestamp")); } @SuppressWarnings("unchecked") @@ -192,6 +194,7 @@ private ArrayList parseMetrics(String event) throws JsonProces } private Map parseRootNode(String event) throws JsonProcessingException { - return new JsonMapper().readValue(event, new TypeReference>() {}); + return new JsonMapper().readValue(event, new TypeReference>() { + }); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java index 0e91f544..157fb5ca 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java @@ -22,9 +22,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import java.util.Arrays; + import java.util.List; import java.util.Map; + import org.junit.Test; public class RootNodeTest { @@ -34,7 +35,7 @@ public void testPutProperty() { RootNode rootNode = new RootNode(); rootNode.putProperty("Property", "Value"); - assertEquals(rootNode.getTargetMembers().get("Property"), "Value"); + assertEquals("Value", rootNode.getTargetMembers().get("Property")); } @Test @@ -43,7 +44,7 @@ public void testPutSamePropertyMultipleTimes() { rootNode.putProperty("Property", "Value"); rootNode.putProperty("Property", "NewValue"); - assertEquals(rootNode.getTargetMembers().get("Property"), "NewValue"); + assertEquals("NewValue", rootNode.getTargetMembers().get("Property")); } @Test @@ -52,7 +53,7 @@ public void testGetDimension() { MetricDirective metricDirective = rootNode.getAws().createMetricDirective(); metricDirective.putDimensionSet(DimensionSet.of("Dim1", "DimValue1")); - assertEquals(rootNode.getTargetMembers().get("Dim1"), "DimValue1"); + assertEquals("DimValue1", rootNode.getTargetMembers().get("Dim1")); } @Test @@ -70,10 +71,10 @@ public void testGetTargetMembers() { mc.putProperty("Prop1", "PropValue1"); - assertEquals(rootNode.getTargetMembers().get("Count"), Arrays.asList(10.0, 20.0)); - assertEquals(rootNode.getTargetMembers().get("Latency"), 100.0); - assertEquals(rootNode.getTargetMembers().get("Dim1"), "DimVal1"); - assertEquals(rootNode.getTargetMembers().get("Prop1"), "PropValue1"); + assertEquals(List.of(10.0, 20.0), rootNode.getTargetMembers().get("Count")); + assertEquals(100.0, rootNode.getTargetMembers().get("Latency")); + assertEquals("DimVal1", rootNode.getTargetMembers().get("Dim1")); + assertEquals("PropValue1", rootNode.getTargetMembers().get("Prop1")); } @SuppressWarnings("unchecked") @@ -88,15 +89,15 @@ public void testSerializeRootNode() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); List emf_logs = mc.serialize(); - Map emf_map = - objectMapper.readValue( - emf_logs.get(0), new TypeReference>() {}); + Map emf_map = objectMapper.readValue( + emf_logs.get(0), new TypeReference>() { + }); - assertEquals(emf_map.keySet().size(), 5); - assertEquals(emf_map.get("Region"), "us-east-1"); - assertEquals(emf_map.get("Property"), "PropertyValue"); - assertEquals(emf_map.get("DefaultDim"), "DefaultDimValue"); - assertEquals(emf_map.get("Count"), 10.0); + assertEquals(5, emf_map.keySet().size()); + assertEquals("us-east-1", emf_map.get("Region")); + assertEquals("PropertyValue", emf_map.get("Property")); + assertEquals("DefaultDimValue", emf_map.get("DefaultDim")); + assertEquals(10.0, emf_map.get("Count")); Map metadata = (Map) emf_map.get("_aws"); assertTrue(metadata.containsKey("Timestamp")); @@ -110,6 +111,6 @@ public void testSerializeRootNodeWithoutAnyMetrics() throws JsonProcessingExcept String value = "bar"; root.putProperty(property, value); - assertEquals(root.serialize(), "{\"foo\":\"bar\"}"); + assertEquals("{\"foo\":\"bar\"}", root.serialize()); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java index 54efb24a..d14cdfc4 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java @@ -25,9 +25,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; + import java.util.ArrayList; import java.util.Map; import java.util.concurrent.locks.ReentrantLock; + import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; import software.amazon.cloudwatchlogs.emf.exception.EMFClientException; @@ -69,13 +71,14 @@ public void testAccept() throws JsonProcessingException { Map emf_map = objectMapper.readValue( fixture.client.getMessages().get(0), - new TypeReference>() {}); + new TypeReference>() { + }); Map metadata = (Map) emf_map.get("_aws"); - assertEquals(emf_map.get(prop), propValue); - assertEquals(emf_map.get("Time"), 10.0); - assertEquals(metadata.get("LogGroupName"), logGroupName); - assertEquals(metadata.get("LogStreamName"), logStreamName); + assertEquals(propValue, emf_map.get(prop)); + assertEquals(10.0, emf_map.get("Time")); + assertEquals(logGroupName, metadata.get("LogGroupName")); + assertEquals(logStreamName, metadata.get("LogStreamName")); } @Test @@ -102,7 +105,8 @@ public void testEmptyLogGroupName() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); Map emf_map = objectMapper.readValue( - fixture.client.getMessages().get(0), new TypeReference<>() {}); + fixture.client.getMessages().get(0), new TypeReference<>() { + }); Map metadata = (Map) emf_map.get("_aws"); assertFalse(metadata.containsKey("LogGroupName")); @@ -317,7 +321,8 @@ public ArrayList getMessages() { } @Override - public void close() {} + public void close() { + } } class InstantRetryStrategy implements RetryStrategy { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/EndpointTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/EndpointTest.java index 62af645e..77f4de42 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/EndpointTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/EndpointTest.java @@ -44,7 +44,7 @@ public void testReturnDefaultEndpointForInvalidURI() { Endpoint endpoint = Endpoint.fromURL(unsupportedEndpoint); Endpoint endpointFromEmptyString = Endpoint.fromURL(""); - assertEquals(endpoint, Endpoint.DEFAULT_TCP_ENDPOINT); - assertEquals(endpointFromEmptyString, Endpoint.DEFAULT_TCP_ENDPOINT); + assertEquals(Endpoint.DEFAULT_TCP_ENDPOINT, endpoint); + assertEquals(Endpoint.DEFAULT_TCP_ENDPOINT, endpointFromEmptyString); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java index 103fd346..f28974bc 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertTrue; import java.util.concurrent.CompletableFuture; + import lombok.Getter; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.model.MetricsContext; @@ -46,7 +47,8 @@ public void shutdownCompletesExceptionallyIfComponentSinkCompletesExceptionally( private static class TestSink implements ISink { private final CompletableFuture shutdownResult; - @Getter int shutdowns = 0; + @Getter + int shutdowns = 0; TestSink() { this.shutdownResult = CompletableFuture.completedFuture(null); @@ -57,7 +59,8 @@ private static class TestSink implements ISink { } @Override - public void accept(MetricsContext context) {} + public void accept(MetricsContext context) { + } @Override public CompletableFuture shutdown() { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/ProtocolTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/ProtocolTest.java index d694c0e4..2e96a66e 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/ProtocolTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/ProtocolTest.java @@ -24,16 +24,16 @@ public class ProtocolTest { @Test public void testParseTCP() { - assertEquals(Protocol.getProtocol("TCP"), Protocol.TCP); - assertEquals(Protocol.getProtocol("tcp"), Protocol.TCP); - assertEquals(Protocol.getProtocol("Tcp"), Protocol.TCP); + assertEquals(Protocol.TCP, Protocol.getProtocol("TCP")); + assertEquals(Protocol.TCP, Protocol.getProtocol("tcp")); + assertEquals(Protocol.TCP, Protocol.getProtocol("Tcp")); } @Test public void testParseUDP() { - assertEquals(Protocol.getProtocol("UDP"), Protocol.UDP); - assertEquals(Protocol.getProtocol("udp"), Protocol.UDP); - assertEquals(Protocol.getProtocol("Udp"), Protocol.UDP); + assertEquals(Protocol.UDP, Protocol.getProtocol("UDP")); + assertEquals(Protocol.UDP, Protocol.getProtocol("udp")); + assertEquals(Protocol.UDP, Protocol.getProtocol("Udp")); } @Test(expected = IllegalArgumentException.class) diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java index 8b6170c0..3e48d716 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java @@ -21,9 +21,11 @@ import static org.mockito.Mockito.*; import com.github.javafaker.Faker; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; + import org.junit.Test; import org.mockito.Mockito; import org.slf4j.Logger; @@ -36,7 +38,7 @@ public void testToString() throws IOException { String str = faker.letterify("?????"); ByteArrayInputStream is = new ByteArrayInputStream(str.getBytes()); - assertEquals(IOUtils.toString(is), str); + assertEquals(str, IOUtils.toString(is)); } @Test @@ -44,7 +46,7 @@ public void testToByteArray() throws IOException { String str = faker.letterify("?????"); ByteArrayInputStream is = new ByteArrayInputStream(str.getBytes()); - assertArrayEquals(IOUtils.toByteArray(is), str.getBytes()); + assertArrayEquals(str.getBytes(), IOUtils.toByteArray(is)); } @Test From 3dc23398361472bf0e08a80c076513402f4b93b0 Mon Sep 17 00:00:00 2001 From: Mark Kuhn Date: Mon, 22 Aug 2022 18:10:28 -0700 Subject: [PATCH 3/3] spotles apply --- .../emf/config/Configuration.java | 47 +++++-------------- .../emf/config/SystemWrapper.java | 4 +- .../emf/environment/Environment.java | 12 ++--- .../emf/environment/EnvironmentProvider.java | 13 ++--- .../emf/environment/LambdaEnvironment.java | 5 +- .../emf/environment/ResourceFetcher.java | 10 +--- .../emf/model/MetricDefinition.java | 11 +---- .../emf/model/MetricDirective.java | 12 +---- .../emf/model/MetricsContext.java | 41 +++++----------- .../cloudwatchlogs/emf/model/RootNode.java | 14 ++---- .../emf/serializers/InstantDeserializer.java | 5 +- .../emf/serializers/InstantSerializer.java | 8 ++-- .../emf/serializers/UnitDeserializer.java | 6 +-- .../emf/serializers/UnitSerializer.java | 9 ++-- .../cloudwatchlogs/emf/sinks/AgentSink.java | 6 +-- .../cloudwatchlogs/emf/sinks/Endpoint.java | 12 ++--- .../cloudwatchlogs/emf/util/IOUtils.java | 3 +- .../cloudwatchlogs/emf/util/Jackson.java | 4 +- .../environment/DefaultEnvironmentTest.java | 1 - .../emf/environment/EC2EnvironmentTest.java | 2 - .../emf/environment/ECSEnvironmentTest.java | 13 ++--- .../environment/EnvironmentProviderTest.java | 8 ++-- .../emf/environment/LocalEnvironmentTest.java | 2 - .../emf/environment/ResourceFetcherTest.java | 5 +- .../emf/logger/MetricsLoggerTest.java | 13 ++--- .../emf/model/MetadataTest.java | 8 +--- .../emf/model/MetricDefinitionTest.java | 2 - .../emf/model/MetricDirectiveTest.java | 2 - .../emf/model/MetricsContextTest.java | 6 +-- .../emf/model/RootNodeTest.java | 8 ++-- .../emf/sinks/AgentSinkTest.java | 11 ++--- .../emf/sinks/MultiSinkTest.java | 7 +-- .../cloudwatchlogs/emf/util/IOUtilsTest.java | 2 - 33 files changed, 88 insertions(+), 224 deletions(-) diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java b/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java index ff2c1788..a65b0e71 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/config/Configuration.java @@ -17,7 +17,6 @@ package software.amazon.cloudwatchlogs.emf.config; import java.util.Optional; - import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -26,43 +25,28 @@ import software.amazon.cloudwatchlogs.emf.environment.Environments; import software.amazon.cloudwatchlogs.emf.util.StringUtils; -/** - * Configuration for EMF logger. - */ +/** Configuration for EMF logger. */ @AllArgsConstructor @NoArgsConstructor public class Configuration { - /** - * The name of the service to use in the default dimensions. - */ - @Setter - private String serviceName; + /** The name of the service to use in the default dimensions. */ + @Setter private String serviceName; - /** - * The type of the service to use in the default dimensions. - */ - @Setter - private String serviceType; + /** The type of the service to use in the default dimensions. */ + @Setter private String serviceType; /** * The LogGroup name to use. This is only used for the Cloudwatch Agent in agent-based * environment. */ - @Setter - private String logGroupName; + @Setter private String logGroupName; - /** - * The LogStream name to use. This will be ignored when using the Lambda scope. - */ - @Setter - private String logStreamName; + /** The LogStream name to use. This will be ignored when using the Lambda scope. */ + @Setter private String logStreamName; - /** - * The endpoint to use to connect to the CloudWatch Agent. - */ - @Setter - private String agentEndpoint; + /** The endpoint to use to connect to the CloudWatch Agent. */ + @Setter private String agentEndpoint; /** * Environment override. This will short circuit auto-environment detection. Valid values @@ -70,15 +54,10 @@ public class Configuration { * metadata and sends over stdout - Agent: no decoration and sends over TCP - EC2: decorates * logs with EC2 metadata and sends over TCP */ - @Setter - Environments environmentOverride; + @Setter Environments environmentOverride; - /** - * Queue length for asynchronous sinks. - */ - @Setter - @Getter - int asyncBufferSize = Constants.DEFAULT_ASYNC_BUFFER_SIZE; + /** Queue length for asynchronous sinks. */ + @Setter @Getter int asyncBufferSize = Constants.DEFAULT_ASYNC_BUFFER_SIZE; public Optional getServiceName() { return getStringOptional(serviceName); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java b/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java index 97cd2b5e..4e2716fc 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/config/SystemWrapper.java @@ -16,9 +16,7 @@ package software.amazon.cloudwatchlogs.emf.config; -/** - * A wrapper class that can be used to mock 'System.getenv' with PowerMock. - */ +/** A wrapper class that can be used to mock 'System.getenv' with PowerMock. */ public class SystemWrapper { private SystemWrapper() { throw new IllegalStateException("Utility class"); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java index 58cc0b20..37c68930 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/Environment.java @@ -19,9 +19,7 @@ import software.amazon.cloudwatchlogs.emf.model.MetricsContext; import software.amazon.cloudwatchlogs.emf.sinks.ISink; -/** - * A runtime environment (e.g. Lambda, EKS, ECS, EC2). - */ +/** A runtime environment (e.g. Lambda, EKS, ECS, EC2). */ public interface Environment { /** @@ -52,13 +50,9 @@ public interface Environment { */ String getLogGroupName(); - /** - * @param context the context to configure with environment properties - */ + /** @param context the context to configure with environment properties */ void configureContext(MetricsContext context); - /** - * @return an appropriate sink for this environment - */ + /** @return an appropriate sink for this environment */ ISink getSink(); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java index aa2f2775..49522b7b 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java @@ -20,15 +20,12 @@ import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; - import lombok.AllArgsConstructor; import lombok.Data; import software.amazon.cloudwatchlogs.emf.config.Configuration; import software.amazon.cloudwatchlogs.emf.config.EnvironmentConfigurationProvider; -/** - * A provider that will detect the environment. - */ +/** A provider that will detect the environment. */ public class EnvironmentProvider { private static Environment cachedEnvironment; private final Configuration config = EnvironmentConfigurationProvider.getConfig(); @@ -39,8 +36,8 @@ public class EnvironmentProvider { // Ordering of this array matters private final Environment[] environments = - new Environment[]{ - lambdaEnvironment, ecsEnvironment, ec2Environment, defaultEnvironment + new Environment[] { + lambdaEnvironment, ecsEnvironment, ec2Environment, defaultEnvironment }; public CompletableFuture resolveEnvironment() { @@ -67,9 +64,7 @@ public Environment getDefaultEnvironment() { return defaultEnvironment; } - /** - * A helper method to clean the cached environment in tests. - */ + /** A helper method to clean the cached environment in tests. */ void cleanResolvedEnvironment() { cachedEnvironment = null; } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java index aa2e349c..3a17ab3f 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/LambdaEnvironment.java @@ -17,15 +17,12 @@ package software.amazon.cloudwatchlogs.emf.environment; import java.util.Optional; - import software.amazon.cloudwatchlogs.emf.config.SystemWrapper; import software.amazon.cloudwatchlogs.emf.model.MetricsContext; import software.amazon.cloudwatchlogs.emf.sinks.ConsoleSink; import software.amazon.cloudwatchlogs.emf.sinks.ISink; -/** - * An environment stands for the AWS Lambda environment. - */ +/** An environment stands for the AWS Lambda environment. */ public class LambdaEnvironment implements Environment { private static final String AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; private static final String LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java index 7835a445..61115e08 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcher.java @@ -18,7 +18,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; - import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; @@ -26,7 +25,6 @@ import java.net.URI; import java.util.Collections; import java.util.List; - import lombok.extern.slf4j.Slf4j; import org.javatuples.Pair; import software.amazon.cloudwatchlogs.emf.exception.EMFClientException; @@ -36,9 +34,7 @@ @Slf4j public class ResourceFetcher { - /** - * Fetch a json object from a given uri and deserialize it to the specified class: clazz. - */ + /** Fetch a json object from a given uri and deserialize it to the specified class: clazz. */ T fetch(URI endpoint, Class clazz) { String response = doReadResource(endpoint, "GET", Collections.emptyList()); return Jackson.fromJsonString(response, clazz); @@ -53,9 +49,7 @@ T fetch(URI endpoint, String method, Class clazz, List> headers) { return doReadResource(endpoint, method, headers); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java index 39afc881..be9b9150 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinition.java @@ -20,20 +20,16 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NonNull; import software.amazon.cloudwatchlogs.emf.serializers.UnitDeserializer; import software.amazon.cloudwatchlogs.emf.serializers.UnitSerializer; -/** - * Represents the MetricDefinition of the EMF schema. - */ +/** Represents the MetricDefinition of the EMF schema. */ @AllArgsConstructor class MetricDefinition { @NonNull @@ -47,10 +43,7 @@ class MetricDefinition { @JsonDeserialize(using = UnitDeserializer.class) private Unit unit; - @JsonIgnore - @NonNull - @Getter - private List values; + @JsonIgnore @NonNull @Getter private List values; MetricDefinition(String name) { this(name, Unit.NONE, new ArrayList<>()); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java index 3b620672..ef49d8d9 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricDirective.java @@ -18,15 +18,11 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.*; import java.util.stream.Collectors; - import lombok.*; -/** - * Represents the MetricDirective part of the EMF schema. - */ +/** Represents the MetricDirective part of the EMF schema. */ @AllArgsConstructor class MetricDirective { @Setter @@ -34,11 +30,7 @@ class MetricDirective { @JsonProperty("Namespace") private String namespace; - @JsonIgnore - @Setter - @Getter - @With - private Map metrics; + @JsonIgnore @Setter @Getter @With private Map metrics; @JsonIgnore @Getter(AccessLevel.PROTECTED) diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java index ef8699cb..18cd5015 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsContext.java @@ -17,20 +17,15 @@ package software.amazon.cloudwatchlogs.emf.model; import com.fasterxml.jackson.core.JsonProcessingException; - import java.time.Instant; import java.util.*; - import lombok.Getter; import software.amazon.cloudwatchlogs.emf.Constants; -/** - * Stores metrics and their associated properties and dimensions. - */ +/** Stores metrics and their associated properties and dimensions. */ public class MetricsContext { - @Getter - private RootNode rootNode; + @Getter private RootNode rootNode; private MetricDirective metricDirective; @@ -65,9 +60,7 @@ public MetricsContext( } } - /** - * @return the namespace. If the namespace is not set, it would return a default value. - */ + /** @return the namespace. If the namespace is not set, it would return a default value. */ public String getNamespace() { return metricDirective.getNamespace(); } @@ -81,9 +74,7 @@ public void setNamespace(String namespace) { metricDirective.setNamespace(namespace); } - /** - * @return the default dimension set. - */ + /** @return the default dimension set. */ public DimensionSet getDefaultDimensions() { return metricDirective.getDefaultDimensions(); } @@ -111,9 +102,9 @@ public boolean hasDefaultDimensions() { * metricContext.putMetric("Latency", 100, Unit.MILLISECONDS) * } * - * @param key Name of the metric + * @param key Name of the metric * @param value Value of the metric - * @param unit The unit of the metric + * @param unit The unit of the metric */ public void putMetric(String key, double value, Unit unit) { metricDirective.putMetric(key, value, unit); @@ -127,7 +118,7 @@ public void putMetric(String key, double value, Unit unit) { * metricContext.putMetric("Count", 10) * } * - * @param key Name of the metric + * @param key Name of the metric * @param value Value of the metric */ public void putMetric(String key, double value) { @@ -143,7 +134,7 @@ public void putMetric(String key, double value) { * metricContext.putProperty("Location", 'US') * } * - * @param name Name of the property + * @param name Name of the property * @param value Value of the property */ public void putProperty(String name, Object value) { @@ -175,15 +166,13 @@ public void putDimension(DimensionSet dimensionSet) { * } * * @param dimension the name of the dimension - * @param value the value associated with the dimension + * @param value the value associated with the dimension */ public void putDimension(String dimension, String value) { metricDirective.putDimensionSet(DimensionSet.of(dimension, value)); } - /** - * @return the list of dimensions that has been added, including default dimensions. - */ + /** @return the list of dimensions that has been added, including default dimensions. */ public List getDimensions() { return metricDirective.getAllDimensions(); } @@ -219,16 +208,14 @@ public void resetDimensions(boolean useDefault) { /** * Add a key-value pair to the metadata * - * @param key the name of the key + * @param key the name of the key * @param value the value associated with the key */ public void putMetadata(String key, Object value) { rootNode.getAws().putCustomMetadata(key, value); } - /** - * @return timestamp field from the metadata. - */ + /** @return timestamp field from the metadata. */ public Instant getTimestamp() { return rootNode.getAws().getTimestamp(); } @@ -242,9 +229,7 @@ public void setTimestamp(Instant timestamp) { rootNode.getAws().setTimestamp(timestamp); } - /** - * @return Creates an independently flushable context. - */ + /** @return Creates an independently flushable context. */ public MetricsContext createCopyWithContext() { return new MetricsContext(metricDirective.copyWithoutMetrics()); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java b/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java index 0654557e..50d74e70 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/model/RootNode.java @@ -22,18 +22,14 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; - import java.util.HashMap; import java.util.List; import java.util.Map; - import lombok.AllArgsConstructor; import lombok.Getter; import lombok.With; -/** - * Represents the root of the EMF schema. - */ +/** Represents the root of the EMF schema. */ @AllArgsConstructor @JsonFilter("emptyMetricFilter") class RootNode { @@ -61,9 +57,7 @@ Map getProperties() { return properties; } - /** - * Return the target members that are referenced by metrics, dimensions and properties. - */ + /** Return the target members that are referenced by metrics, dimensions and properties. */ @JsonAnyGetter Map getTargetMembers() { Map targetMembers = new HashMap<>(); @@ -78,9 +72,7 @@ Map getTargetMembers() { return targetMembers; } - /** - * Return a list of all dimensions that are referenced by each dimension set. - */ + /** Return a list of all dimensions that are referenced by each dimension set. */ Map getDimensions() { Map dimensions = new HashMap<>(); for (MetricDirective mc : aws.getCloudWatchMetrics()) { diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java index 5cf507a4..a929f48b 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantDeserializer.java @@ -19,13 +19,10 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - import java.io.IOException; import java.time.Instant; -/** - * Deserialize Instant from a Long epoch millisecond timestamp. - */ +/** Deserialize Instant from a Long epoch millisecond timestamp. */ public class InstantDeserializer extends StdDeserializer { InstantDeserializer() { this(null); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java index d54188d0..f2297e15 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/InstantSerializer.java @@ -19,13 +19,10 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; - import java.io.IOException; import java.time.Instant; -/** - * Serialize Instant from a Long epoch millisecond timestamp. - */ +/** Serialize Instant from a Long epoch millisecond timestamp. */ public class InstantSerializer extends StdSerializer { InstantSerializer() { this(null); @@ -36,7 +33,8 @@ public class InstantSerializer extends StdSerializer { } @Override - public void serialize(Instant value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + public void serialize(Instant value, JsonGenerator jgen, SerializerProvider provider) + throws IOException { jgen.writeNumber(value.toEpochMilli()); } } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java index 99b9b704..8ef87531 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitDeserializer.java @@ -19,14 +19,10 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - import java.io.IOException; - import software.amazon.cloudwatchlogs.emf.model.Unit; -/** - * JSON deserializer for StandardUnit type. - */ +/** JSON deserializer for StandardUnit type. */ public class UnitDeserializer extends StdDeserializer { UnitDeserializer() { this(null); diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java index f9f7a604..f9f823a7 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/serializers/UnitSerializer.java @@ -19,14 +19,10 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; - import java.io.IOException; - import software.amazon.cloudwatchlogs.emf.model.Unit; -/** - * JSON serializer for Unit type. - */ +/** JSON serializer for Unit type. */ public class UnitSerializer extends StdSerializer { UnitSerializer() { this(null); @@ -37,7 +33,8 @@ public class UnitSerializer extends StdSerializer { } @Override - public void serialize(Unit value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + public void serialize(Unit value, JsonGenerator jgen, SerializerProvider provider) + throws IOException { String str = value.toString(); jgen.writeString(str); } diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java index c9243764..f061c38d 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSink.java @@ -17,14 +17,12 @@ package software.amazon.cloudwatchlogs.emf.sinks; import com.fasterxml.jackson.core.JsonProcessingException; - import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; - import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import software.amazon.cloudwatchlogs.emf.Constants; @@ -33,9 +31,7 @@ import software.amazon.cloudwatchlogs.emf.sinks.retry.RetryStrategy; import software.amazon.cloudwatchlogs.emf.util.StringUtils; -/** - * An sink connecting to an agent over a socket. - */ +/** An sink connecting to an agent over a socket. */ @Slf4j public class AgentSink implements ISink { private final String logGroupName; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java index 60e03cb2..32c11083 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/sinks/Endpoint.java @@ -18,7 +18,6 @@ import java.net.URI; import java.net.URISyntaxException; - import lombok.Getter; import lombok.NonNull; import lombok.RequiredArgsConstructor; @@ -31,16 +30,11 @@ public class Endpoint { public static final Endpoint DEFAULT_TCP_ENDPOINT = new Endpoint("127.0.0.1", 25888, Protocol.TCP); - @Getter - @NonNull - private final String host; + @Getter @NonNull private final String host; - @Getter - private final int port; + @Getter private final int port; - @Getter - @NonNull - private final Protocol protocol; + @Getter @NonNull private final Protocol protocol; public static Endpoint fromURL(String endpoint) { URI parsedURI = null; diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java b/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java index d3277c69..ea3cef63 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/util/IOUtils.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; - import org.slf4j.Logger; public class IOUtils { @@ -65,7 +64,7 @@ public static String toString(InputStream is) throws IOException { /** * Closes the given Closeable quietly. * - * @param is the given closeable + * @param is the given closeable * @param log logger used to log any failure should the close fail */ public static void closeQuietly(Closeable is, Logger log) { diff --git a/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java b/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java index 0a239a30..6b0a9e0f 100644 --- a/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java +++ b/src/main/java/software/amazon/cloudwatchlogs/emf/util/Jackson.java @@ -41,9 +41,9 @@ public static String toJsonString(Object value) { * Returns the deserialized object from the given json string and target class; or null if the * given json string is null. * - * @param json the string to be deserialized + * @param json the string to be deserialized * @param clazz the expected object class - * @param the expected object type + * @param the expected object type * @return an object that is deserialized from the json string */ public static T fromJsonString(String json, Class clazz) { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java index 176b4ca9..e0aaf9d3 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/DefaultEnvironmentTest.java @@ -21,7 +21,6 @@ import static org.mockito.Mockito.when; import java.util.Optional; - import org.junit.Before; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.config.Configuration; diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java index 1ab860f8..a68cbb79 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EC2EnvironmentTest.java @@ -22,9 +22,7 @@ import static org.mockito.Mockito.when; import com.github.javafaker.Faker; - import java.util.Optional; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java index bbab961f..22e80a86 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java @@ -22,13 +22,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.github.javafaker.Faker; - import java.net.InetAddress; import java.net.UnknownHostException; import java.util.HashMap; import java.util.Optional; import java.util.concurrent.TimeUnit; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -43,7 +41,7 @@ import software.amazon.cloudwatchlogs.emf.model.MetricsContext; @RunWith(PowerMockRunner.class) -@PrepareForTest({ SystemWrapper.class }) +@PrepareForTest({SystemWrapper.class}) public class ECSEnvironmentTest { private Configuration config; private ECSEnvironment environment; @@ -129,7 +127,8 @@ public void testSetFluentBit() { .thenReturn(new ECSEnvironment.ECSMetadata()); ArgumentCaptor argument = ArgumentCaptor.forClass(String.class); Mockito.verify(config, times(1)).setAgentEndpoint(argument.capture()); - assertEquals("tcp://" + fluentHost + ":" + Constants.DEFAULT_AGENT_PORT, argument.getValue()); + assertEquals( + "tcp://" + fluentHost + ":" + Constants.DEFAULT_AGENT_PORT, argument.getValue()); } @Test @@ -175,8 +174,10 @@ public void testConfigureContext() throws UnknownHostException { assertEquals(InetAddress.getLocalHost().getHostName(), context.getProperty("containerId")); assertEquals(metadata.getCreatedAt(), context.getProperty("createdAt")); assertEquals(metadata.getStartedAt(), context.getProperty("startedAt")); - assertEquals(metadata.labels.get("com.amazonaws.ecs.cluster"), context.getProperty("cluster")); - assertEquals(metadata.labels.get("com.amazonaws.ecs.task-arn"), context.getProperty("taskArn")); + assertEquals( + metadata.labels.get("com.amazonaws.ecs.cluster"), context.getProperty("cluster")); + assertEquals( + metadata.labels.get("com.amazonaws.ecs.task-arn"), context.getProperty("taskArn")); } private void getRandomMetadata(ECSEnvironment.ECSMetadata metadata) { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java index 170ca303..3407ce15 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProviderTest.java @@ -22,9 +22,7 @@ import static org.powermock.api.mockito.PowerMockito.when; import com.github.javafaker.Faker; - import java.util.concurrent.CompletableFuture; - import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -175,7 +173,7 @@ public void testResolveEnvironmentEC2AndECSEnvs() throws Exception { DefaultEnvironment mockedDefaultEnv = mock(DefaultEnvironment.class); when(mockedDefaultEnv.probe()).thenReturn(true); - Environment[] envs = new Environment[]{mockedECSEnv, mockedEC2Env, mockedDefaultEnv}; + Environment[] envs = new Environment[] {mockedECSEnv, mockedEC2Env, mockedDefaultEnv}; FieldSetter.setField( environmentProvider, EnvironmentProvider.class.getDeclaredField("environments"), @@ -185,7 +183,7 @@ public void testResolveEnvironmentEC2AndECSEnvs() throws Exception { environmentProvider.cleanResolvedEnvironment(); Environment[] EC2FirstEnvs = - new Environment[]{mockedEC2Env, mockedECSEnv, mockedDefaultEnv}; + new Environment[] {mockedEC2Env, mockedECSEnv, mockedDefaultEnv}; FieldSetter.setField( environmentProvider, EnvironmentProvider.class.getDeclaredField("environments"), @@ -213,7 +211,7 @@ public Boolean answer(InvocationOnMock invocation) throws Throwable { return true; } }); - Environment[] envs = new Environment[]{mockedLambdaEnv, mockedDefaultEnv, mockedEC2Env}; + Environment[] envs = new Environment[] {mockedLambdaEnv, mockedDefaultEnv, mockedEC2Env}; FieldSetter.setField( environmentProvider, diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java index 104fc71b..6705beec 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/LocalEnvironmentTest.java @@ -21,9 +21,7 @@ import static org.mockito.Mockito.when; import com.github.javafaker.Faker; - import java.util.Optional; - import org.junit.Before; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java index fb6d016b..d3fa53bf 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/environment/ResourceFetcherTest.java @@ -22,13 +22,11 @@ import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.junit.WireMockRule; - import java.io.IOException; import java.net.ServerSocket; import java.net.URI; import java.net.URISyntaxException; import java.util.Collections; - import lombok.Data; import org.javatuples.Pair; import org.junit.Before; @@ -42,8 +40,7 @@ public class ResourceFetcherTest { private static URI endpoint; private static final String endpoint_path = "/fake/endpoint"; - @ClassRule - public static WireMockRule mockServer = new WireMockRule(0); + @ClassRule public static WireMockRule mockServer = new WireMockRule(0); @Before public void setUp() throws URISyntaxException { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java index 71fc7a47..5756dab9 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java @@ -24,7 +24,6 @@ import java.time.Instant; import java.util.List; import java.util.concurrent.CompletableFuture; - import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -90,7 +89,8 @@ public void testOverrideDefaultDimensions() { logger.flush(); Assert.assertEquals(1, sink.getContext().getDimensions().size()); - Assert.assertNull(sink.getContext().getDimensions().get(0).getDimensionValue(defaultDimName)); + Assert.assertNull( + sink.getContext().getDimensions().get(0).getDimensionValue(defaultDimName)); } @Test @@ -225,10 +225,11 @@ public void testFlushWithDefaultDimensionDefined() { @Test public void testUseDefaultEnvironmentOnResolverException() { String serviceType = "TestServiceType"; - CompletableFuture future = CompletableFuture.supplyAsync( - () -> { - throw new RuntimeException("UnExpected"); - }); + CompletableFuture future = + CompletableFuture.supplyAsync( + () -> { + throw new RuntimeException("UnExpected"); + }); EnvironmentProvider envProvider = mock(EnvironmentProvider.class); when(envProvider.resolveEnvironment()).thenReturn(future); when(envProvider.getDefaultEnvironment()).thenReturn(environment); diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java index 6c4bb42e..a45bdb7f 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetadataTest.java @@ -21,11 +21,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.json.JsonMapper; - import java.time.Instant; import java.util.ArrayList; import java.util.Map; - import org.junit.Test; public class MetadataTest { @@ -39,8 +37,7 @@ public void testSerializeMetadata() throws JsonProcessingException { String output = objectMapper.writeValueAsString(metadata); Map metadata_map = - objectMapper.readValue(output, new TypeReference>() { - }); + objectMapper.readValue(output, new TypeReference>() {}); assertEquals(2, metadata_map.keySet().size()); assertEquals(now.toEpochMilli(), metadata_map.get("Timestamp")); @@ -60,8 +57,7 @@ public void testSerializeMetadataWithCustomValue() throws JsonProcessingExceptio String output = objectMapper.writeValueAsString(metadata); Map metadata_map = - objectMapper.readValue(output, new TypeReference>() { - }); + objectMapper.readValue(output, new TypeReference>() {}); assertEquals(3, metadata_map.keySet().size()); assertEquals(now.toEpochMilli(), metadata_map.get("Timestamp")); diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java index e069d8ae..496262ae 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDefinitionTest.java @@ -20,9 +20,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.List; - import org.junit.Test; public class MetricDefinitionTest { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java index 23329a98..8234f369 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java @@ -21,10 +21,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Arrays; import java.util.Collections; - import org.junit.Test; public class MetricDirectiveTest { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java index 8a2fd8de..2b832c02 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricsContextTest.java @@ -23,13 +23,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.json.JsonMapper; - import java.time.Instant; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; - import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; @@ -194,7 +191,6 @@ private ArrayList parseMetrics(String event) throws JsonProces } private Map parseRootNode(String event) throws JsonProcessingException { - return new JsonMapper().readValue(event, new TypeReference>() { - }); + return new JsonMapper().readValue(event, new TypeReference>() {}); } } diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java index 157fb5ca..d72e8d71 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/model/RootNodeTest.java @@ -22,10 +22,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.List; import java.util.Map; - import org.junit.Test; public class RootNodeTest { @@ -89,9 +87,9 @@ public void testSerializeRootNode() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); List emf_logs = mc.serialize(); - Map emf_map = objectMapper.readValue( - emf_logs.get(0), new TypeReference>() { - }); + Map emf_map = + objectMapper.readValue( + emf_logs.get(0), new TypeReference>() {}); assertEquals(5, emf_map.keySet().size()); assertEquals("us-east-1", emf_map.get("Region")); diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java index d14cdfc4..4970ca42 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/AgentSinkTest.java @@ -25,11 +25,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.ArrayList; import java.util.Map; import java.util.concurrent.locks.ReentrantLock; - import org.junit.Test; import software.amazon.cloudwatchlogs.emf.Constants; import software.amazon.cloudwatchlogs.emf.exception.EMFClientException; @@ -71,8 +69,7 @@ public void testAccept() throws JsonProcessingException { Map emf_map = objectMapper.readValue( fixture.client.getMessages().get(0), - new TypeReference>() { - }); + new TypeReference>() {}); Map metadata = (Map) emf_map.get("_aws"); assertEquals(propValue, emf_map.get(prop)); @@ -105,8 +102,7 @@ public void testEmptyLogGroupName() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); Map emf_map = objectMapper.readValue( - fixture.client.getMessages().get(0), new TypeReference<>() { - }); + fixture.client.getMessages().get(0), new TypeReference<>() {}); Map metadata = (Map) emf_map.get("_aws"); assertFalse(metadata.containsKey("LogGroupName")); @@ -321,8 +317,7 @@ public ArrayList getMessages() { } @Override - public void close() { - } + public void close() {} } class InstantRetryStrategy implements RetryStrategy { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java index f28974bc..103fd346 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/sinks/MultiSinkTest.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertTrue; import java.util.concurrent.CompletableFuture; - import lombok.Getter; import org.junit.Test; import software.amazon.cloudwatchlogs.emf.model.MetricsContext; @@ -47,8 +46,7 @@ public void shutdownCompletesExceptionallyIfComponentSinkCompletesExceptionally( private static class TestSink implements ISink { private final CompletableFuture shutdownResult; - @Getter - int shutdowns = 0; + @Getter int shutdowns = 0; TestSink() { this.shutdownResult = CompletableFuture.completedFuture(null); @@ -59,8 +57,7 @@ private static class TestSink implements ISink { } @Override - public void accept(MetricsContext context) { - } + public void accept(MetricsContext context) {} @Override public CompletableFuture shutdown() { diff --git a/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java b/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java index 3e48d716..662e9497 100644 --- a/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java +++ b/src/test/java/software/amazon/cloudwatchlogs/emf/util/IOUtilsTest.java @@ -21,11 +21,9 @@ import static org.mockito.Mockito.*; import com.github.javafaker.Faker; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; - import org.junit.Test; import org.mockito.Mockito; import org.slf4j.Logger;