Skip to content

Commit

Permalink
cleanup deserializer unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickmann committed Jul 20, 2022
1 parent 4a48522 commit 3fceda7
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import org.bson.types.ObjectId;
import org.graylog.plugins.views.search.views.ViewServiceUsesViewRequirementsTest;
import org.graylog.plugins.views.search.views.widgets.aggregation.AutoIntervalDTO;
import org.graylog.plugins.views.search.views.widgets.aggregation.TimeUnitIntervalDTO;
import org.graylog.testing.mongodb.MongoDBFixtures;
import org.graylog.testing.mongodb.MongoDBInstance;
import org.graylog2.bindings.providers.MongoJackObjectMapperProvider;
Expand All @@ -17,38 +14,45 @@
import org.junit.Test;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.mongojack.Id;
import org.mongojack.JacksonDBCollection;

public class PolymorphicDoubleTest {
import javax.annotation.Nullable;

public class PolymorphicDeserializerTest {
@Rule
public final MongoDBInstance mongodb = MongoDBInstance.createForClass();

@Rule
public MockitoRule rule = MockitoJUnit.rule();

JacksonDBCollection<ParentDTO, ObjectId> db;
JacksonDBCollection<Container, ObjectId> db;

@JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION)
@JsonSubTypes({
@JsonSubTypes.Type(ChildA.class),
@JsonSubTypes.Type(ChildB.class)
})
public interface ParentDTO {
String name();
}

public static class ChildA implements ParentDTO {
@JsonProperty
private Double d;
public String name() {return "ChildA";}
public double d(){return d;}
}

public static class ChildB implements ParentDTO {
@JsonProperty
private String s;
public String name() {return "ChildB";}
public String s() {return s;}
}

public static class Container {
@Id
@org.mongojack.ObjectId
String id;

@JsonProperty("polyDto")
ParentDTO polyDto;
}

class MongoJackObjectMapperProviderForTest extends MongoJackObjectMapperProvider {
Expand All @@ -66,16 +70,23 @@ public ObjectMapper get() {
public void setUp() throws Exception {
final MongoJackObjectMapperProvider objectMapperProvider = new MongoJackObjectMapperProviderForTest(new ObjectMapper());
db = JacksonDBCollection.wrap(mongodb.mongoConnection().getDatabase().getCollection("polyCollection"),
ParentDTO.class,
Container.class,
ObjectId.class,
objectMapperProvider.get(),
null);
}

@Test
@MongoDBFixtures("polymorphicDouble.json")
@MongoDBFixtures("polymorphicDeserializer.json")
public void readDouble() {
final ParentDTO oneById = db.findOneById(new ObjectId("5ced4df1d6e8104c16f50e00"));
final Container oneById = db.findOneById(new ObjectId("100000000000000000000000"));
}

@Test
@MongoDBFixtures("polymorphicDeserializer.json")
public void readString() {
final Container oneById = db.findOneById(new ObjectId("200000000000000000000000"));
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"polyCollection": [
{
"_id": {
"$oid": "100000000000000000000000"
},
"polyDto": {
"d": 1.0
}
},
{
"_id": {
"$oid": "200000000000000000000000"
},
"polyDto": {
"s": "a string"
}
}
]
}

This file was deleted.

0 comments on commit 3fceda7

Please sign in to comment.