-
Notifications
You must be signed in to change notification settings - Fork 331
Expand file tree
/
Copy pathConfigManagerTest.java
More file actions
63 lines (59 loc) · 2.58 KB
/
ConfigManagerTest.java
File metadata and controls
63 lines (59 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package datadog.crashtracking;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import datadog.trace.api.Config;
import datadog.trace.api.ProcessTags;
import datadog.trace.api.WellKnownTags;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.Objects;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class ConfigManagerTest {
@Test
public void testConfigWriteAndRead() throws IOException {
Config config = mock(Config.class);
when(config.getWellKnownTags())
.thenReturn(new WellKnownTags("1234", "", "env", "service", "version", ""));
when(config.isCrashTrackingAgentless()).thenReturn(false);
when(config.isCrashTrackingErrorsIntakeEnabled()).thenReturn(true);
when(config.isCrashTrackingExtendedInfoEnabled()).thenReturn(true);
when(config.getMergedCrashTrackingTags()).thenReturn(Collections.singletonMap("key", "value"));
File tmpFile = File.createTempFile("ConfigManagerTest", null);
tmpFile.deleteOnExit();
ConfigManager.writeConfigToFile(config, tmpFile.toPath());
ConfigManager.StoredConfig deserialized =
ConfigManager.readConfig(Config.get(), tmpFile.toPath());
Assertions.assertNotNull(deserialized);
assertEquals("service", deserialized.service);
assertEquals("version", deserialized.version);
assertEquals("env", deserialized.env);
assertEquals("key:value", deserialized.tags);
assertEquals("1234", deserialized.runtimeId);
assertEquals(
Objects.requireNonNull(ProcessTags.getTagsForSerialization()).toString(),
deserialized.processTags);
assertFalse(deserialized.agentless);
assertTrue(deserialized.sendToErrorTracking);
assertTrue(deserialized.extendedInfoEnabled);
}
@Test
public void testStoredConfigDefaults() {
Config config = mock(Config.class);
when(config.getServiceName()).thenReturn("service");
when(config.getVersion()).thenReturn("version");
when(config.getEnv()).thenReturn("env");
ConfigManager.StoredConfig storedConfig =
new ConfigManager.StoredConfig.Builder(config).build();
assertEquals("service", storedConfig.service);
assertEquals("version", storedConfig.version);
assertEquals("env", storedConfig.env);
assertFalse(storedConfig.agentless);
assertFalse(storedConfig.sendToErrorTracking);
assertFalse(storedConfig.extendedInfoEnabled);
}
}