### Question:
UpgradeCatalog271 extends AbstractUpgradeCatalog { @Override protected void executeDDLUpdates() throws AmbariException, SQLException { addBlueprintProvisioningState(); } @Inject  UpgradeCatalog271(Injector injector); @Override String getTargetVersion(); @Override String getSourceVersion();  }### Answer:
@Test public void testExecuteDDLUpdates() throws Exception { EasyMockSupport easyMockSupport = new EasyMockSupport(); Injector injector = easyMockSupport.createNiceMock(Injector.class); DBAccessor dbAccessor = easyMockSupport.createNiceMock(DBAccessor.class); Capture<DBAccessor.DBColumnInfo> blueprintProvisioningStateColumnCapture = newCapture(CaptureType.ALL); dbAccessor.addColumn(eq(CLUSTERS_TABLE), capture(blueprintProvisioningStateColumnCapture)); expectLastCall().once(); replay(dbAccessor, injector); UpgradeCatalog271 upgradeCatalog271 = new UpgradeCatalog271(injector); upgradeCatalog271.dbAccessor = dbAccessor; upgradeCatalog271.executeDDLUpdates(); DBAccessor.DBColumnInfo capturedBlueprintProvisioningStateColumn = blueprintProvisioningStateColumnCapture.getValue(); Assert.assertEquals(CLUSTERS_BLUEPRINT_PROVISIONING_STATE_COLUMN, capturedBlueprintProvisioningStateColumn.getName()); Assert.assertEquals(BlueprintProvisioningState.NONE, capturedBlueprintProvisioningStateColumn.getDefaultValue()); Assert.assertEquals(String.class, capturedBlueprintProvisioningStateColumn.getType()); easyMockSupport.verifyAll(); }