Add code coverage for OS resources. (#2167)
* Add code coverage for OS resources. * Fix assertion
This commit is contained in:
parent
2aeaf1a392
commit
d31995f75d
|
|
@ -6,42 +6,114 @@
|
|||
package io.opentelemetry.sdk.extension.resources;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
|
||||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.api.common.ReadableAttributes;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.opentelemetry.sdk.resources.ResourceAttributes;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junitpioneer.jupiter.SetSystemProperty;
|
||||
|
||||
class OsResourceTest {
|
||||
|
||||
private static final OsResource RESOURCE = new OsResource();
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "Linux 4.11")
|
||||
void linux() {
|
||||
assumeThat(System.getProperty("os.name").toLowerCase()).startsWith("linux");
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("LINUX");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "MacOS X 11")
|
||||
void macos() {
|
||||
assumeThat(System.getProperty("os.name").toLowerCase()).startsWith("mac");
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("DARWIN");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "Windows 10")
|
||||
void windows() {
|
||||
assumeThat(System.getProperty("os.name").toLowerCase()).startsWith("windows");
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("WINDOWS");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "FreeBSD 10")
|
||||
void freebsd() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("FREEBSD");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "NetBSD 10")
|
||||
void netbsd() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("NETBSD");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "OpenBSD 10")
|
||||
void openbsd() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("OPENBSD");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "DragonFlyBSD 10")
|
||||
void dragonflybsd() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("DRAGONFLYBSD");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "HP-UX 10")
|
||||
void hpux() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("HPUX");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "AIX 10")
|
||||
void aix() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("AIX");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "Solaris 10")
|
||||
void solaris() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("SOLARIS");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "Z/OS 10")
|
||||
void zos() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isEqualTo("ZOS");
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "RagOS 10")
|
||||
void unknown() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_NAME)).isNull();
|
||||
assertThat(attributes.get(ResourceAttributes.OS_DESCRIPTION)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void inDefault() {
|
||||
ReadableAttributes attributes = Resource.getDefault().getAttributes();
|
||||
|
|
|
|||
|
|
@ -12,17 +12,34 @@ import io.opentelemetry.api.common.ReadableAttributes;
|
|||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.opentelemetry.sdk.resources.ResourceAttributes;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junitpioneer.jupiter.SetSystemProperty;
|
||||
|
||||
class ProcessResourceTest {
|
||||
|
||||
private static final ProcessResource RESOURCE = new ProcessResource();
|
||||
|
||||
@Test
|
||||
void normal() {
|
||||
@SetSystemProperty(key = "os.name", value = "Linux 4.12")
|
||||
void notWindows() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_PID)).isGreaterThan(1);
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_EXECUTABLE_PATH)).contains("java");
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_EXECUTABLE_PATH))
|
||||
.contains("java")
|
||||
.doesNotEndWith(".exe");
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_COMMAND_LINE))
|
||||
.contains(attributes.get(ResourceAttributes.PROCESS_EXECUTABLE_PATH));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SetSystemProperty(key = "os.name", value = "Windows 10")
|
||||
void windows() {
|
||||
Attributes attributes = RESOURCE.getAttributes();
|
||||
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_PID)).isGreaterThan(1);
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_EXECUTABLE_PATH))
|
||||
.contains("java")
|
||||
.endsWith(".exe");
|
||||
assertThat(attributes.get(ResourceAttributes.PROCESS_COMMAND_LINE))
|
||||
.contains(attributes.get(ResourceAttributes.PROCESS_EXECUTABLE_PATH));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue