assertThat(changes.get(0).getContent(), containsString("CREATE TABLE")); assertThat(changes.get(1).getContent(), containsString("PRIMARY KEY")); assertThat(changes.get(2).getContent(), containsString("CREATE INDEX")); assertThat(changes.get(3).getContent(), containsString("ADD COLUMN")); assertThat(changes.get(4).getContent(), containsString("FOREIGN KEY"));
@Test public void testDbChange() { ChangeInput change = new TableChangeParser(new EmptyContentHashStrategy(), getChangeType) .value(tableChangeType, null, "//// CHANGE name=chng5Rollback applyGrants=true INACTIVE baselinedChanges=\"a,b,c\" \nmychange\n\n// ROLLBACK-IF-ALREADY-DEPLOYED\nmyrollbackcommand\n", objectName , "schem", null).get(0); assertEquals("schem", change.getObjectKey().getSchema()); assertEquals("chng5Rollback", change.getChangeKey().getChangeName()); assertEquals("mychange\n", change.getContent()); assertEquals("mychan", change.getContentHash()); assertEquals("myrollbackcommand", change.getRollbackIfAlreadyDeployedContent()); assertEquals(UnifiedSet.newSetWith("a", "b", "c"), change.getBaselinedChanges().toSet()); assertFalse(change.isActive()); assertTrue(change.getApplyGrants()); }
@Test public void readFileWithBody() throws Exception { RerunnableChangeParser parser = new RerunnableChangeParser(); String fileContent = "main\n" + "//// BODY\n" + "body content\n" + ""; ChangeType mainChangeType = mock(ChangeType.class); ChangeType bodyChangeType = mock(ChangeType.class); when(mainChangeType.getBodyChangeType()).thenReturn(bodyChangeType); ImmutableList<ChangeInput> changes = parser.value(mainChangeType, null, fileContent, objectName, "schema", null); Verify.assertSize(2, changes); ChangeInput c1 = changes.get(0); assertEquals(objectName, c1.getObjectName()); assertEquals("main", c1.getContent()); ChangeInput c2 = changes.get(1); assertEquals(objectName, c2.getObjectName()); assertEquals("body", c2.getChangeKey().getChangeName()); assertEquals("body content", c2.getContent()); }
@Test public void testDbChange2DiffValues() { ChangeInput change = new TableChangeParser(new EmptyContentHashStrategy(), getChangeType) .value(tableChangeType, null, "//// CHANGE name=chng5Rollback INACTIVE baselinedChanges=\"a,b,c\" \nmychange\n\n// ROLLBACK-IF-ALREADY-DEPLOYED\nmyrollbackcommand\n", objectName , "schem", null).get(0); assertEquals("schem", change.getObjectKey().getSchema()); assertEquals("chng5Rollback", change.getChangeKey().getChangeName()); assertEquals("mychange\n", change.getContent()); assertEquals("mychan", change.getContentHash()); assertEquals("myrollbackcommand", change.getRollbackIfAlreadyDeployedContent()); assertEquals(UnifiedSet.newSetWith("a", "b", "c"), change.getBaselinedChanges().toSet()); assertFalse(change.isActive()); assertNull(change.getApplyGrants()); }
@Test public void readSimpleFile() throws Exception { RerunnableChangeParser parser = new RerunnableChangeParser(); String fileContent = "\n" + "mycontent" + ""; ImmutableList<ChangeInput> changes = parser.value(mock(ChangeType.class), null, fileContent, objectName, "schema", null); Verify.assertSize(1, changes); ChangeInput change = changes.get(0); assertEquals(objectName, change.getObjectName()); assertEquals("\nmycontent", change.getContent()); assertEquals(null, change.getDropContent()); }
@Test public void readFileWithMetaAndDrop() throws Exception { RerunnableChangeParser parser = new RerunnableChangeParser(); String fileContent = "\n" + "//// METADATA dependencies=\"abc,123\"\n" + "mycontent\n" + "line2\n" + "//// DROP_COMMAND\n" + "mydrop" + ""; ImmutableList<ChangeInput> changes = parser.value(mock(ChangeType.class), null, fileContent, objectName, "schema", null); Verify.assertSize(1, changes); ChangeInput change = changes.get(0); assertEquals(objectName, change.getObjectName()); assertEquals("mycontent\nline2", change.getContent()); assertEquals(Sets.immutable.with(new CodeDependency("abc", CodeDependencyType.EXPLICIT), new CodeDependency("123", CodeDependencyType.EXPLICIT)), change.getCodeDependencies()); assertEquals("mydrop", change.getDropContent()); }
for (int i = 0; i < expected.size(); i++) { assertThat("Mismatch on row " + i + " on changeKey", changes.get(i).getChangeKey(), equalTo(expected.get(i).getChangeKey())); assertThat("Mismatch on row " + i + " on content", changes.get(i).getContent(), equalToIgnoringWhiteSpace(expected.get(i).getContent())); ImmutableList<ArtifactRestrictions> restrictions = expected.get(i).getRestrictions() == null ? Lists.immutable.of(