Skip to content

Commit

Permalink
Implemented tests for the OpenLineageClientUtils#loadOpenLineageYaml(…
Browse files Browse the repository at this point in the history
…InputStream) and OpenLineageClientUtilsTest#loadOpenLineageJson(InputStream)

Signed-off-by: Damien Hawes <d-m-h@users.noreply.github.com>
  • Loading branch information
d-m-h committed Mar 4, 2024
1 parent f04bbaa commit 66cfa7c
Showing 1 changed file with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference;
import io.openlineage.client.transports.HttpConfig;
import io.openlineage.client.transports.TransportConfig;
import java.io.ByteArrayInputStream;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

Expand Down Expand Up @@ -106,4 +110,55 @@ static final class ObjectWithDisabledFacets {
this.notExcludedValue = notExcludedValue;
}
}

@Test
void loadOpenLineageYaml_shouldDeserialiseYamlEncodedInputStreams() {
String yamlString =
"transport:\n"
+ " type: http\n"
+ " url: http://localhost:5050\n"
+ " endpoint: api/v1/lineage\n";
System.out.println(yamlString);

byte[] bytes = yamlString.getBytes(StandardCharsets.UTF_8);

OpenLineageYaml yaml =
OpenLineageClientUtils.loadOpenLineageYaml(new ByteArrayInputStream(bytes));
TransportConfig transportConfig = yaml.getTransportConfig();
assertThat(transportConfig).isNotNull();
assertThat(transportConfig).isInstanceOf(HttpConfig.class);
HttpConfig httpConfig = (HttpConfig) transportConfig;
assertThat(httpConfig.getUrl()).isEqualTo(URI.create("http://localhost:5050"));
assertThat(httpConfig.getEndpoint()).isEqualTo("api/v1/lineage");
}

@Test
void loadOpenLineageYaml_shouldFallbackAndDeserialiseJsonEncodedInputStreams() {
byte[] bytes =
"{\"transport\":{\"type\":\"http\",\"url\":\"https://localhost:1234/api/v1/lineage\"}}"
.getBytes(StandardCharsets.UTF_8);

OpenLineageYaml yaml =
OpenLineageClientUtils.loadOpenLineageYaml(new ByteArrayInputStream(bytes));
TransportConfig transportConfig = yaml.getTransportConfig();
assertThat(transportConfig).isNotNull();
assertThat(transportConfig).isInstanceOf(HttpConfig.class);
HttpConfig httpConfig = (HttpConfig) transportConfig;
assertThat(httpConfig.getUrl()).isEqualTo(URI.create("https://localhost:1234/api/v1/lineage"));
}

@Test
void loadOpenLineageJson_ShouldDeserialiseJsonEncodedInputStreams() {
byte[] bytes =
"{\"transport\":{\"type\":\"http\",\"url\":\"https://localhost:1234/api/v1/lineage\"}}"
.getBytes(StandardCharsets.UTF_8);

OpenLineageYaml yaml =
OpenLineageClientUtils.loadOpenLineageJson(new ByteArrayInputStream(bytes));
TransportConfig transportConfig = yaml.getTransportConfig();
assertThat(transportConfig).isNotNull();
assertThat(transportConfig).isInstanceOf(HttpConfig.class);
HttpConfig httpConfig = (HttpConfig) transportConfig;
assertThat(httpConfig.getUrl()).isEqualTo(URI.create("https://localhost:1234/api/v1/lineage"));
}
}

0 comments on commit 66cfa7c

Please sign in to comment.