public ArtifactPlan(ArtifactConfig artifactConfig) { this.artifactPlanType = ArtifactPlanType.fromArtifactType(artifactConfig.getArtifactType()); if (artifactConfig instanceof PluggableArtifactConfig) { this.pluggableArtifactConfigJson = ((PluggableArtifactConfig) artifactConfig).toJSON(); } else { BuiltinArtifactConfig buildArtifactConfig = (BuiltinArtifactConfig) artifactConfig; setSrc(buildArtifactConfig.getSource()); setDest(buildArtifactConfig.getDestination()); } }
@Test public void shouldSerializeToJson() { final PluggableArtifactConfig config = new PluggableArtifactConfig("id1", "Store-ID", create("Foo", false, "Bar")); final String actual = config.toJSON(); assertThat(actual, is("{\"configuration\":{\"Foo\":\"Bar\"},\"id\":\"id1\",\"storeId\":\"Store-ID\"}")); }
@Test public void toArtifactPlans_shouldConvertArtifactConfigsToArtifactPlanList() { final PluggableArtifactConfig artifactConfig = new PluggableArtifactConfig("id", "storeId", create("Foo", true, "Bar")); final ArtifactConfigs artifactConfigs = new ArtifactConfigs(Arrays.asList( new BuildArtifactConfig("source", "destination"), new TestArtifactConfig("test-source", "test-destination"), artifactConfig )); final List<ArtifactPlan> artifactPlans = ArtifactPlan.toArtifactPlans(artifactConfigs); assertThat(artifactPlans, containsInAnyOrder( new ArtifactPlan(ArtifactPlanType.file, "source", "destination"), new ArtifactPlan(ArtifactPlanType.unit, "test-source", "test-destination"), new ArtifactPlan(artifactConfig.toJSON()) )); }