/** * Pass through to {@link StagingDatabase}, replacing the namespace with the transaction * namespace. */ @Override public Optional<Conflict> getConflict(@Nullable String namespace, String path) { return database.getConflict(txNamespace, path); }
/** * Pass through to {@link StagingDatabase}, replacing the namespace with the transaction * namespace. */ @Override public Optional<Conflict> getConflict(@Nullable String namespace, String path) { return database.getConflict(txNamespace, path); }
@Test public void getConflictException() throws SQLException { when(mockSource.getConnection().prepareStatement(anyString()).executeQuery()) .thenThrow(new SQLException("propagate this message")); try { mockSourceConflicts.getConflict(null, c1.getPath()); fail("expected RTE"); } catch (RuntimeException e) { assertTrue(e.getMessage().contains("propagate this message")); } verify(mockConnection, times(0)).setAutoCommit(eq(false)); }
@Test public void testAddConflictsNS() { final String ns = UUID.randomUUID().toString(); Iterable<Conflict> list = ImmutableList.of(c1, c2, c3); conflicts.addConflicts(ns, list); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); }
@Test public void testAddConflicts() { final String ns = null; Iterable<Conflict> list = ImmutableList.of(c1, c2, c3, b1, b2, b3); conflicts.addConflicts(ns, list); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); assertEquals(b1, conflicts.getConflict(ns, b1.getPath()).get()); assertEquals(b2, conflicts.getConflict(ns, b2.getPath()).get()); assertEquals(b3, conflicts.getConflict(ns, b3.getPath()).get()); }
@Test public void testAddConflictsNS() { final String ns = UUID.randomUUID().toString(); Iterable<Conflict> list = ImmutableList.of(c1, c2, c3); conflicts.addConflicts(ns, list); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); }
@Test public void testAddConflicts() { final String ns = null; Iterable<Conflict> list = ImmutableList.of(c1, c2, c3, b1, b2, b3); conflicts.addConflicts(ns, list); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); assertEquals(b1, conflicts.getConflict(ns, b1.getPath()).get()); assertEquals(b2, conflicts.getConflict(ns, b2.getPath()).get()); assertEquals(b3, conflicts.getConflict(ns, b3.getPath()).get()); }
@Test public void testAddGetNamespace() { final String ns = UUID.randomUUID().toString(); add(ns, c1); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertFalse(conflicts.getConflict(null, c1.getPath()).isPresent()); add(ns, c2, c3); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); assertFalse(conflicts.getConflict(ns, "not/a/conflict").isPresent()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c3.getPath()).isPresent()); }
@Test public void testAddGetNamespace() { final String ns = UUID.randomUUID().toString(); add(ns, c1); assertEquals(c1, conflicts.getConflict(ns, c1.getPath()).get()); assertFalse(conflicts.getConflict(null, c1.getPath()).isPresent()); add(ns, c2, c3); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(ns, c3.getPath()).get()); assertFalse(conflicts.getConflict(ns, "not/a/conflict").isPresent()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c3.getPath()).isPresent()); }
@Test public void testAddGetNullNamespace() { add(null, c1); assertEquals(c1, conflicts.getConflict(null, c1.getPath()).get()); add(null, c2, c3); assertEquals(c2, conflicts.getConflict(null, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(null, c3.getPath()).get()); assertFalse(conflicts.getConflict(null, "not/a/conflict").isPresent()); }
@Test public void testAddGetNullNamespace() { add(null, c1); assertEquals(c1, conflicts.getConflict(null, c1.getPath()).get()); add(null, c2, c3); assertEquals(c2, conflicts.getConflict(null, c2.getPath()).get()); assertEquals(c3, conflicts.getConflict(null, c3.getPath()).get()); assertFalse(conflicts.getConflict(null, "not/a/conflict").isPresent()); }
@Test public void testRemoveConflictsIterableNS() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(null, c1, c2, c3); conflicts.removeConflicts(ns, ImmutableList.of(c3.getPath(), c2.getPath())); assertTrue(conflicts.getConflict(ns, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c3.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(null, null)); }
@Test public void testRemoveConflictsIterableNS() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(null, c1, c2, c3); conflicts.removeConflicts(ns, ImmutableList.of(c3.getPath(), c2.getPath())); assertTrue(conflicts.getConflict(ns, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c3.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(null, null)); }
@Test public void testRemoveConflictsIterableDefaultNS() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(null, c1, c2, c3); conflicts.removeConflicts(null, ImmutableList.of(c3.getPath(), c2.getPath())); assertTrue(conflicts.getConflict(null, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c3.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(ns, null)); }
@Test public void testRemoveConflictsIterableDefaultNS() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(null, c1, c2, c3); conflicts.removeConflicts(null, ImmutableList.of(c3.getPath(), c2.getPath())); assertTrue(conflicts.getConflict(null, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(null, c3.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(ns, null)); }
@Test public void testRemoveConflict() { final String ns = UUID.randomUUID().toString(); add(null, c1, c3); add(ns, c2, c3); conflicts.removeConflict(ns, c1.getPath()); assertEquals(c1, conflicts.getConflict(null, c1.getPath()).get()); conflicts.removeConflict(null, c1.getPath()); assertFalse(conflicts.getConflict(null, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c1.getPath()).isPresent()); conflicts.removeConflict(null, c2.getPath()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); conflicts.removeConflict(ns, c2.getPath()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c2.getPath()).isPresent()); assertTrue(conflicts.hasConflicts(null)); assertTrue(conflicts.hasConflicts(ns)); conflicts.removeConflict(null, c3.getPath()); assertFalse(conflicts.hasConflicts(null)); conflicts.removeConflict(ns, c3.getPath()); assertFalse(conflicts.hasConflicts(ns)); }
@Test public void testRemoveConflict() { final String ns = UUID.randomUUID().toString(); add(null, c1, c3); add(ns, c2, c3); conflicts.removeConflict(ns, c1.getPath()); assertEquals(c1, conflicts.getConflict(null, c1.getPath()).get()); conflicts.removeConflict(null, c1.getPath()); assertFalse(conflicts.getConflict(null, c1.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c1.getPath()).isPresent()); conflicts.removeConflict(null, c2.getPath()); assertEquals(c2, conflicts.getConflict(ns, c2.getPath()).get()); conflicts.removeConflict(ns, c2.getPath()); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertFalse(conflicts.getConflict(ns, c2.getPath()).isPresent()); assertTrue(conflicts.hasConflicts(null)); assertTrue(conflicts.hasConflicts(ns)); conflicts.removeConflict(null, c3.getPath()); assertFalse(conflicts.hasConflicts(null)); conflicts.removeConflict(ns, c3.getPath()); assertFalse(conflicts.hasConflicts(ns)); }
@Test public void testRemoveByPrefix() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(ns, b1, b2, b3); add(null, c1, c2, c3); assertEquals(3, conflicts.getCountByPrefix(null, "Rivers")); assertEquals(3, conflicts.getCountByPrefix(ns, "Rivers")); conflicts.removeByPrefix(null, c2.getPath()); assertEquals(2, conflicts.getCountByPrefix(null, "Rivers")); assertEquals(3, conflicts.getCountByPrefix(ns, "Rivers")); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(ns, "buildings")); conflicts.removeByPrefix(ns, "buildings"); assertEquals(0, conflicts.getCountByPrefix(ns, "buildings")); }
@Test public void testRemoveByPrefix() { final String ns = UUID.randomUUID().toString(); add(ns, c1, c2, c3); add(ns, b1, b2, b3); add(null, c1, c2, c3); assertEquals(3, conflicts.getCountByPrefix(null, "Rivers")); assertEquals(3, conflicts.getCountByPrefix(ns, "Rivers")); conflicts.removeByPrefix(null, c2.getPath()); assertEquals(2, conflicts.getCountByPrefix(null, "Rivers")); assertEquals(3, conflicts.getCountByPrefix(ns, "Rivers")); assertFalse(conflicts.getConflict(null, c2.getPath()).isPresent()); assertEquals(3, conflicts.getCountByPrefix(ns, "buildings")); conflicts.removeByPrefix(ns, "buildings"); assertEquals(0, conflicts.getCountByPrefix(ns, "buildings")); }