@Override public Log create() { return new MockCommonSchemaLog(); } }
@Test public void compareDifferentType() { TestUtils.compareSelfNullClass(new MockCommonSchemaLog()); }
private static void testValidName(String name) { CommonSchemaLog log = new MockCommonSchemaLog(); PartAUtils.setName(log, name); assertEquals(name, log.getName()); }
@Test public void overrideProperty() { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); properties.add(typedProperty("a.b", "1")); properties.add(typedProperty("a.b.c.d", "2")); properties.add(typedProperty("a.b.c", "3")); CommonSchemaDataUtils.addCommonSchemaData(properties, log); JSONObject b = log.getData().getProperties().optJSONObject("a").optJSONObject("b"); assertNotNull(b); assertEquals("3", b.optString("c", null)); assertNull(log.getExt()); }
@Test public void checkPartAConversionDoesNotInstantiateExtensionObjectAgain() { Log log = mock(Log.class); when(log.getDevice()).thenReturn(getDevice(0)); MockCommonSchemaLog commonSchemaLog = new MockCommonSchemaLog(); Extensions extensions = new Extensions(); commonSchemaLog.setExt(extensions); PartAUtils.addPartAFromLog(log, commonSchemaLog, "T1UUID1-T2UUID2"); assertEquals(extensions, commonSchemaLog.getExt()); }
@Test public void emptyProperties() { MockCommonSchemaLog log = new MockCommonSchemaLog(); CommonSchemaDataUtils.addCommonSchemaData(Collections.<TypedProperty>emptyList(), log); assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt()); }
private static void testInvalidName(String name) { CommonSchemaLog log = new MockCommonSchemaLog(); try { PartAUtils.setName(log, name); fail("Expected exception"); } catch (IllegalArgumentException e) { assertNull(log.getName()); } }
@Test() public void filterInvalidProperties() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); properties.add(typedProperty("a", "b")); properties.add(typedProperty(null, "c")); properties.add(typedProperty("d", null)); CommonSchemaDataUtils.addCommonSchemaData(properties, log); assertEquals(1, log.getData().getProperties().length()); assertEquals("b", log.getData().getProperties().getString("a")); assertNull(log.getExt()); }
@Test public void booleanTypedProperty() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); BooleanTypedProperty property = new BooleanTypedProperty(); property.setName("a"); property.setValue(true); properties.add(property); CommonSchemaDataUtils.addCommonSchemaData(properties, log); assertEquals(1, log.getData().getProperties().length()); assertTrue(log.getData().getProperties().getBoolean("a")); }
@Test public void emptyStringsAreAllowed() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); properties.add(typedProperty("", "")); CommonSchemaDataUtils.addCommonSchemaData(properties, log); assertEquals(1, log.getData().getProperties().length()); assertEquals("", log.getData().getProperties().getString("")); assertNull(log.getExt()); }
@Test public void invalidBaseDataRemovesBaseType() { MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); properties.add(typedProperty("baseType", "Some.Type")); properties.add(typedProperty("baseData", "value")); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check everything removed. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }
/** * Utility for getLogsFilteringOutPausedTargetKeys test. */ private void generateCsLogsWithIKey(DatabasePersistence persistence, String iKey, int numberOfLogsPerKey) throws PersistenceException { for (int i = 0; i < numberOfLogsPerKey; i++) { CommonSchemaLog log = new MockCommonSchemaLog(); log.setVer("3.0"); log.setName("test"); log.setTimestamp(new Date()); log.setIKey(iKey); log.addTransmissionTarget(iKey + "-token"); persistence.putLog(log, "test", PERSISTENCE_NORMAL); } }
@Test public void unknownTypedProperty() { MockCommonSchemaLog log = new MockCommonSchemaLog(); TypedProperty typedProperty = new TypedProperty() { @Override public String getType() { return "unknown"; } }; typedProperty.setName("a"); CommonSchemaDataUtils.addCommonSchemaData(Collections.singletonList(typedProperty), log); /* Data is empty because the invalid property filtered out. */ assertEquals(0, log.getData().getProperties().length()); /* And we don't send metadata when using only standard types. */ assertNull(log.getExt()); }
@Test public void baseTypeOverriddenToBeInvalid() { MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); properties.add(typedProperty("baseType", "Some.Type")); properties.add(typedProperty("baseType.something", "test")); properties.add(typedProperty("baseData.something", "test")); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check only string base type was kept. */ assertEquals(2, log.getData().getProperties().length()); assertEquals("Some.Type", log.getData().getProperties().optString("baseType")); assertNull(log.getExt().getMetadata()); } }
@Test public void nullProperties() { MockCommonSchemaLog log = new MockCommonSchemaLog(); CommonSchemaDataUtils.addCommonSchemaData(null, log); assertNull(log.getData()); assertNull(log.getExt()); }
@Test public void invalidBaseTypeRemovesBaseData() { MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); LongTypedProperty a = new LongTypedProperty(); a.setName("baseType"); a.setValue(3); properties.add(a); properties.add(typedProperty("baseData.something", "value")); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check everything removed. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }
@Test public void invalidBaseType() { /* When using invalid base type. */ MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); LongTypedProperty a = new LongTypedProperty(); a.setName("baseType"); a.setValue(1); properties.add(a); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data and metadata is missing type. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }
@Test public void baseTypeMissing() { /* When using invalid base data. */ MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); StringTypedProperty a = new StringTypedProperty(); a.setName("baseData.test"); a.setValue("test"); properties.add(a); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data and metadata is missing type. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }
@Test public void invalidBaseData() { /* When using invalid base data. */ MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); StringTypedProperty a = new StringTypedProperty(); a.setName("baseData"); a.setValue("myData"); properties.add(a); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data and metadata is missing type. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }
@Test public void baseDataMissing() { /* When using invalid base data. */ MockCommonSchemaLog log = new MockCommonSchemaLog(); log.setExt(new Extensions()); List<TypedProperty> properties = new ArrayList<>(); StringTypedProperty a = new StringTypedProperty(); a.setName("baseType"); a.setValue("Some.Type"); properties.add(a); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data and metadata is missing type. */ assertEquals(0, log.getData().getProperties().length()); assertNull(log.getExt().getMetadata()); }