@Module( injects = {MainActivity.class,SecondActivity.class} ) public class DependencyModule { @Singleton @Provides public Repository getSingle(){ return new InMemoryRepository(); } }
@Override protected void registerSubjectInBackend(final String subjectName, final SubjectConfig config) { cacheSubject(new MemSubject(subjectName, config)); }
@Override public void close() throws IOException { closed = true; super.close(); } };
@Test(expected=IllegalStateException.class) public void testCannotRegisterSchemaIfLatest() throws SchemaValidationException { repo.register(FOO, null); readOnlyRepo.lookup(FOO).registerIfLatest(null, null); }
@Test(expected=IllegalStateException.class) public void testCannotRegisterSchema() throws SchemaValidationException { repo.register(FOO, null); readOnlyRepo.lookup(FOO).register(null); }
@Override public Repository createRepository() { return new InMemoryRepository(new ValidatorFactory.Builder().build()); } });
@Test(expected=SchemaValidationException.class) public void testCannotRegister() throws SchemaValidationException { Subject reject = repo.register(REJECT, new SubjectConfig.Builder() .addValidator(ValidatorFactory.REJECT_VALIDATOR).build()); reject.register(FOO); }
@Override protected void registerSubjectInBackend(final String subjectName, final SubjectConfig config) { cacheSubject(new MemSubject(subjectName, config)); }
@Override protected InMemoryRepository createRepository() { return new InMemoryRepository(new ValidatorFactory.Builder().build()); }
@Test(expected=SchemaValidationException.class) public void testCannotRegisterIfLatest() throws SchemaValidationException { Subject reject = repo.register(REJECT, new SubjectConfig.Builder() .addValidator(ValidatorFactory.REJECT_VALIDATOR).build()); reject.registerIfLatest(FOO, null); }
@Override protected CacheRepository createRepository() { return new CacheRepository(new InMemoryRepository(new ValidatorFactory.Builder().build()), new InMemoryCache()); } }
@Test public void testSuccessfulValidation() throws SchemaValidationException { Subject accept = repo.register(ACCEPT, new SubjectConfig.Builder() .addValidator(ACCEPT_VALIDATOR).build()); SchemaEntry foo = accept.registerIfLatest(FOO, null); Assert.assertNotNull("failed to register schema", foo); SchemaEntry bar = accept.registerIfLatest(BAR, foo); Assert.assertNotNull("failed to register schema", bar); SchemaEntry none = accept.registerIfLatest("nothing", null); Assert.assertNull(none); SchemaEntry baz = accept.register(BAZ); Assert.assertNotNull("failed to register schema", baz); }
@Before public void setUpRepository() { repo = new InMemoryRepository(new ValidatorFactory.Builder(). setValidator(ACCEPT_VALIDATOR, new Validator(){ @Override public void validate(String schemaToValidate, Iterable<SchemaEntry> schemasInOrder) throws SchemaValidationException { // nothing } }).build()); }
@Before public void setUpRepository() { repo = new InMemoryRepository(new ValidatorFactory.Builder().build()); readOnlyRepo = new ReadOnlyRepository(repo); }
@Test public void testSubjectsToFromString() { Repository r = new InMemoryRepository(new ValidatorFactory.Builder().build()); Subject s1 = r.register("s1", null); Subject s2 = r.register("s2", null); ArrayList<Subject> empty = new ArrayList<Subject>(); ArrayList<Subject> vals = new ArrayList<Subject>(); vals.add(s1); vals.add(s2); Iterable<String> emptyResult = jsonUtil .subjectNamesFromJson(jsonUtil.subjectsToJson(empty)); Iterable<String> emptyResult2 = jsonUtil.subjectNamesFromJson(null); Iterable<String> emptyResult3 = jsonUtil.subjectNamesFromJson(""); validate(emptyResult, empty); Assert.assertEquals(emptyResult, emptyResult2); Assert.assertEquals(emptyResult, emptyResult3); Iterable<String> result = jsonUtil .subjectNamesFromJson(jsonUtil.subjectsToJson(vals)); validate(result, vals); }
@Test public void testSubjectsToFromString() { Repository r = new InMemoryRepository(new ValidatorFactory.Builder().build()); Subject s1 = r.register("s1", null); Subject s2 = r.register("s2", null); ArrayList<Subject> empty = new ArrayList<Subject>(); ArrayList<Subject> vals = new ArrayList<Subject>(); vals.add(s1); vals.add(s2); Iterable<String> emptyResult = RepositoryUtil .subjectNamesFromString(RepositoryUtil.subjectsToString(empty)); Iterable<String> emptyResult2 = RepositoryUtil.subjectNamesFromString(null); Iterable<String> emptyResult3 = RepositoryUtil.subjectNamesFromString(""); validate(emptyResult, empty); Assert.assertEquals(emptyResult, emptyResult2); Assert.assertEquals(emptyResult, emptyResult3); Iterable<String> result = RepositoryUtil .subjectNamesFromString(RepositoryUtil.subjectsToString(vals)); validate(result, vals); }