use of com.microsoft.appcenter.ingestion.models.properties.TypedProperty in project mobile-center-sdk-android by Microsoft.
the class CommonSchemaDataUtilsAndroidTest method noMetadataCleanupOnNestingString.
@Test
public void noMetadataCleanupOnNestingString() throws JSONException {
MockCommonSchemaLog log = new MockCommonSchemaLog();
log.setExt(new Extensions());
List<TypedProperty> properties = new ArrayList<>();
LongTypedProperty a = new LongTypedProperty();
a.setName("a.b");
a.setValue(1);
properties.add(a);
StringTypedProperty b = new StringTypedProperty();
b.setName("b.c");
b.setValue("2");
properties.add(b);
CommonSchemaDataUtils.addCommonSchemaData(properties, log);
/* Check data. */
JSONObject aData = new JSONObject();
aData.put("b", 1);
JSONObject bData = new JSONObject();
bData.put("c", "2");
JSONObject expectedData = new JSONObject();
expectedData.put("a", aData);
expectedData.put("b", bData);
assertEquals(expectedData.toString(), log.getData().getProperties().toString());
/* Check metadata. a.b only. */
JSONObject aFields = new JSONObject();
aFields.put("b", DATA_TYPE_INT64);
JSONObject aMetadata = new JSONObject();
aMetadata.put(METADATA_FIELDS, aFields);
JSONObject rootFields = new JSONObject();
rootFields.put("a", aMetadata);
JSONObject expectedMetadata = new JSONObject();
expectedMetadata.put(METADATA_FIELDS, rootFields);
assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
}
use of com.microsoft.appcenter.ingestion.models.properties.TypedProperty in project mobile-center-sdk-android by Microsoft.
the class CommonSchemaDataUtilsAndroidTest method doubleTypedProperty.
@Test
public void doubleTypedProperty() throws JSONException {
MockCommonSchemaLog log = new MockCommonSchemaLog();
List<TypedProperty> properties = new ArrayList<>();
DoubleTypedProperty property = new DoubleTypedProperty();
property.setName("a");
property.setValue(1.1);
properties.add(property);
CommonSchemaDataUtils.addCommonSchemaData(properties, log);
/* Check data. */
assertEquals(1, log.getData().getProperties().length());
assertEquals(1.1, log.getData().getProperties().getDouble("a"), 0);
/* Check metadata. */
JSONObject expectedMetadata = new JSONObject();
JSONObject a = new JSONObject();
a.put("a", DATA_TYPE_DOUBLE);
expectedMetadata.put(METADATA_FIELDS, a);
assertNotNull(log.getExt());
assertNotNull(log.getExt().getMetadata());
assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
}
use of com.microsoft.appcenter.ingestion.models.properties.TypedProperty in project mobile-center-sdk-android by Microsoft.
the class CommonSchemaDataUtilsAndroidTest method deepNestingProperty.
@Test
public void deepNestingProperty() {
MockCommonSchemaLog log = new MockCommonSchemaLog();
List<TypedProperty> properties = new ArrayList<>();
properties.add(typedProperty("a.b", "1"));
properties.add(typedProperty("a.c.d", "2"));
properties.add(typedProperty("a.c.e", "3"));
CommonSchemaDataUtils.addCommonSchemaData(properties, log);
assertEquals(1, log.getData().getProperties().length());
JSONObject a = log.getData().getProperties().optJSONObject("a");
assertNotNull(a);
assertEquals("1", a.optString("b", null));
JSONObject c = a.optJSONObject("c");
assertNotNull(c);
assertEquals("2", c.optString("d", null));
assertEquals("3", c.optString("e", null));
assertNull(log.getExt());
}
use of com.microsoft.appcenter.ingestion.models.properties.TypedProperty in project mobile-center-sdk-android by Microsoft.
the class CommonSchemaDataUtilsAndroidTest method invalidBaseData.
@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());
}
use of com.microsoft.appcenter.ingestion.models.properties.TypedProperty in project mobile-center-sdk-android by Microsoft.
the class CommonSchemaDataUtilsAndroidTest method nestingWithTypes.
@Test
public void nestingWithTypes() throws JSONException {
MockCommonSchemaLog log = new MockCommonSchemaLog();
List<TypedProperty> properties = new ArrayList<>();
properties.add(typedProperty("baseType", "Some.Type"));
LongTypedProperty a = new LongTypedProperty();
a.setName("p.a");
a.setValue(1);
properties.add(a);
DoubleTypedProperty b = new DoubleTypedProperty();
b.setName("p.b");
b.setValue(2.0);
properties.add(b);
BooleanTypedProperty c = new BooleanTypedProperty();
c.setName("p.c");
c.setValue(true);
properties.add(c);
LongTypedProperty baseDataD = new LongTypedProperty();
baseDataD.setName("baseData.d");
baseDataD.setValue(4);
properties.add(baseDataD);
properties.add(typedProperty("baseData.e", "5"));
CommonSchemaDataUtils.addCommonSchemaData(properties, log);
/* Check data. */
JSONObject p = new JSONObject();
p.put("a", 1);
p.put("b", 2.0);
p.put("c", true);
JSONObject baseData = new JSONObject();
baseData.put("d", 4);
baseData.put("e", "5");
JSONObject expectedData = new JSONObject();
expectedData.put("baseType", "Some.Type");
expectedData.put("p", p);
expectedData.put("baseData", baseData);
assertEquals(expectedData.toString(), log.getData().getProperties().toString());
/* Check metadata, boolean is a default type. */
JSONObject metadataPChildren = new JSONObject();
metadataPChildren.put("a", DATA_TYPE_INT64);
metadataPChildren.put("b", DATA_TYPE_DOUBLE);
JSONObject metadataPFields = new JSONObject();
metadataPFields.put(METADATA_FIELDS, metadataPChildren);
JSONObject metadataBaseDataChildren = new JSONObject();
metadataBaseDataChildren.put("d", DATA_TYPE_INT64);
JSONObject metadataBaseDataFields = new JSONObject();
metadataBaseDataFields.put(METADATA_FIELDS, metadataBaseDataChildren);
JSONObject metadataFields = new JSONObject();
metadataFields.put("p", metadataPFields);
metadataFields.put("baseData", metadataBaseDataFields);
JSONObject expectedMetadata = new JSONObject();
expectedMetadata.put(METADATA_FIELDS, metadataFields);
assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
}
Aggregations