├── .github ├── ISSUE_TEMPLATE │ └── issue-template.md └── workflows │ ├── check-commit-message.yml │ ├── codeql.yml │ ├── main.yml │ ├── pull-request-build.yml │ └── sonar-scan.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── ide ├── IntelliJ_Migration_Guide.md ├── eclipse-formatter.xml ├── image.png └── mta_formatter_java.xml ├── logo.png ├── multiapps-common-test ├── pom.xml └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── cloudfoundry │ └── multiapps │ └── common │ └── test │ ├── GenericArgumentMatcher.java │ ├── TestUtil.java │ ├── Tester.java │ └── package-info.java ├── multiapps-common ├── pom.xml └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── cloudfoundry │ │ └── multiapps │ │ └── common │ │ ├── AllowNulls.java │ │ ├── ConflictException.java │ │ ├── ContentException.java │ │ ├── Messages.java │ │ ├── MultiappsImmutablesStyle.java │ │ ├── NotFoundException.java │ │ ├── Nullable.java │ │ ├── ParsingException.java │ │ ├── SLException.java │ │ ├── SkipNulls.java │ │ ├── package-info.java │ │ ├── tags │ │ ├── SecureConstruct.java │ │ ├── SecureObject.java │ │ ├── TaggedObject.java │ │ └── YamlTaggedObjectsConstructor.java │ │ └── util │ │ ├── DigestHelper.java │ │ ├── JsonSerializationStrategy.java │ │ ├── JsonUtil.java │ │ ├── ListUtil.java │ │ ├── MapUtil.java │ │ ├── MiscUtil.java │ │ ├── XmlUtil.java │ │ ├── YamlParser.java │ │ └── yaml │ │ ├── YamlAdapter.java │ │ ├── YamlConverter.java │ │ ├── YamlElement.java │ │ ├── YamlElementOrder.java │ │ ├── YamlPropertyComparator.java │ │ └── YamlRepresenter.java │ └── test │ ├── java │ └── org │ │ └── cloudfoundry │ │ └── multiapps │ │ └── common │ │ ├── SLExceptionTest.java │ │ └── util │ │ ├── DigestHelperTest.java │ │ ├── JsonUtilTest.java │ │ ├── ListUtilTest.java │ │ ├── MapUtilTest.java │ │ └── MiscUtilTest.java │ └── resources │ └── org │ └── cloudfoundry │ └── multiapps │ └── common │ └── util │ └── web.zip ├── multiapps-coverage └── pom.xml ├── multiapps-mta ├── pom.xml └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── cloudfoundry │ │ └── multiapps │ │ └── mta │ │ ├── Constants.java │ │ ├── Messages.java │ │ ├── builders │ │ ├── ExtensionDescriptorChainBuilder.java │ │ ├── v2 │ │ │ ├── ModuleDependenciesCollector.java │ │ │ ├── ParametersChainBuilder.java │ │ │ └── PropertiesChainBuilder.java │ │ └── v3 │ │ │ └── ModuleDependenciesCollector.java │ │ ├── handlers │ │ ├── ArchiveHandler.java │ │ ├── ConfigurationParser.java │ │ ├── DescriptorParserFacade.java │ │ ├── HandlerFactory.java │ │ ├── ModulesSorter.java │ │ ├── SchemaVersionDetector.java │ │ ├── v2 │ │ │ ├── DescriptorHandler.java │ │ │ ├── DescriptorMerger.java │ │ │ ├── DescriptorParser.java │ │ │ ├── DescriptorValidator.java │ │ │ ├── HandlerFactoryV2.java │ │ │ ├── ModuleComparator.java │ │ │ ├── ModulesSorter.java │ │ │ ├── ResourceBatchCalculator.java │ │ │ ├── Schemas.java │ │ │ └── SelectiveDeployChecker.java │ │ └── v3 │ │ │ ├── DescriptorHandler.java │ │ │ ├── DescriptorMerger.java │ │ │ ├── DescriptorParser.java │ │ │ ├── DescriptorValidator.java │ │ │ ├── HandlerFactoryV3.java │ │ │ ├── ModuleComparator.java │ │ │ ├── ModulesSorter.java │ │ │ ├── ResourceBatchCalculator.java │ │ │ ├── Schemas.java │ │ │ └── SelectiveDeployChecker.java │ │ ├── helpers │ │ ├── SimplePropertyVisitor.java │ │ └── VisitableObject.java │ │ ├── mergers │ │ ├── PlatformMerger.java │ │ ├── v2 │ │ │ └── ExtensionDescriptorMerger.java │ │ └── v3 │ │ │ └── ExtensionDescriptorMerger.java │ │ ├── model │ │ ├── AuditableConfiguration.java │ │ ├── ConfigurationIdentifier.java │ │ ├── DeploymentDescriptor.java │ │ ├── DeploymentType.java │ │ ├── Descriptor.java │ │ ├── ElementContext.java │ │ ├── ExtensionDescriptor.java │ │ ├── ExtensionHook.java │ │ ├── ExtensionModule.java │ │ ├── ExtensionProvidedDependency.java │ │ ├── ExtensionRequiredDependency.java │ │ ├── ExtensionResource.java │ │ ├── Hook.java │ │ ├── Metadata.java │ │ ├── Module.java │ │ ├── ModuleType.java │ │ ├── NamedElement.java │ │ ├── NamedParametersContainer.java │ │ ├── ParametersContainer.java │ │ ├── ParametersWithMetadataContainer.java │ │ ├── Platform.java │ │ ├── PropertiesContainer.java │ │ ├── PropertiesWithMetadataContainer.java │ │ ├── ProvidedDependency.java │ │ ├── RequiredDependency.java │ │ ├── Resource.java │ │ ├── ResourceType.java │ │ ├── SupportedVersions.java │ │ ├── Version.java │ │ ├── VersionRule.java │ │ ├── VersionedEntity.java │ │ ├── VisitableElement.java │ │ └── Visitor.java │ │ ├── package-info.java │ │ ├── parsers │ │ ├── ListParser.java │ │ ├── ModelParser.java │ │ ├── ModuleTypeParser.java │ │ ├── Parser.java │ │ ├── PartialVersionConverter.java │ │ ├── PlatformParser.java │ │ ├── ResourceTypeParser.java │ │ ├── v2 │ │ │ ├── DeploymentDescriptorParser.java │ │ │ ├── ExtensionDescriptorParser.java │ │ │ ├── ExtensionModuleParser.java │ │ │ ├── ExtensionProvidedDependencyParser.java │ │ │ ├── ExtensionRequiredDependencyParser.java │ │ │ ├── ExtensionResourceParser.java │ │ │ ├── ModuleParser.java │ │ │ ├── ProvidedDependencyParser.java │ │ │ ├── RequiredDependencyParser.java │ │ │ └── ResourceParser.java │ │ └── v3 │ │ │ ├── DeploymentDescriptorParser.java │ │ │ ├── ExtensionDescriptorParser.java │ │ │ ├── ExtensionHookParser.java │ │ │ ├── ExtensionModuleParser.java │ │ │ ├── ExtensionProvidedDependencyParser.java │ │ │ ├── ExtensionRequiredDependencyParser.java │ │ │ ├── ExtensionResourceParser.java │ │ │ ├── HookParser.java │ │ │ ├── ModuleParser.java │ │ │ ├── ProvidedDependencyParser.java │ │ │ ├── RequiredDependencyParser.java │ │ │ └── ResourceParser.java │ │ ├── resolvers │ │ ├── CustomParameterContainer.java │ │ ├── LiveRoutesProvidedParametersResolver.java │ │ ├── LiveRoutesProvidedParametersResolverBuilder.java │ │ ├── NullPropertiesResolverBuilder.java │ │ ├── ParameterChecker.java │ │ ├── PatternResolver.java │ │ ├── PlaceholderResolver.java │ │ ├── PropertiesPlaceholderResolver.java │ │ ├── PropertiesResolver.java │ │ ├── ProvidedValuesResolver.java │ │ ├── ProvidesValuesResolver.java │ │ ├── Reference.java │ │ ├── ReferenceContainer.java │ │ ├── ReferencePattern.java │ │ ├── ReferenceResolver.java │ │ ├── ReferencesFinder.java │ │ ├── ReferencesUnescaper.java │ │ ├── Resolver.java │ │ ├── ResolverBuilder.java │ │ ├── ValueMatcher.java │ │ ├── v2 │ │ │ ├── DescriptorPlaceholderResolver.java │ │ │ ├── DescriptorReferenceResolver.java │ │ │ ├── ModulePlaceholderResolver.java │ │ │ ├── ModulePropertiesReferenceResolver.java │ │ │ ├── ModuleReferenceResolver.java │ │ │ ├── ProvidedDependencyPlaceholderResolver.java │ │ │ ├── RequiredDependencyPlaceholderResolver.java │ │ │ ├── RequiredDependencyReferenceResolver.java │ │ │ └── ResourcePlaceholderResolver.java │ │ └── v3 │ │ │ ├── DescriptorPlaceholderResolver.java │ │ │ ├── DescriptorReferenceResolver.java │ │ │ ├── HookPlaceholderResolver.java │ │ │ ├── HookReferenceResolver.java │ │ │ ├── ModulePlaceholderResolver.java │ │ │ ├── ModuleReferenceResolver.java │ │ │ ├── ProvidedDependencyReferenceResolver.java │ │ │ ├── ResourcePropertiesReferenceResolver.java │ │ │ └── ResourceReferenceResolver.java │ │ ├── schema │ │ ├── Element.java │ │ ├── ListElement.java │ │ ├── MapElement.java │ │ └── SchemaValidator.java │ │ ├── util │ │ ├── DynamicParameterUtil.java │ │ ├── EntryToInflate.java │ │ ├── InflatorUtil.java │ │ ├── LimitedInputStream.java │ │ ├── MetadataConverter.java │ │ ├── MetadataUpdater.java │ │ ├── NameUtil.java │ │ └── PropertiesUtil.java │ │ └── validators │ │ ├── DescriptorValidationRules.java │ │ ├── v2 │ │ ├── DefaultDescriptorValidationRules.java │ │ ├── DeploymentDescriptorValidator.java │ │ ├── ExtensionDescriptorValidator.java │ │ └── MergedDescriptorValidator.java │ │ └── v3 │ │ ├── DefaultDescriptorValidationRules.java │ │ ├── DeploymentDescriptorValidator.java │ │ └── ExtensionDescriptorValidator.java │ └── test │ ├── java │ └── org │ │ └── cloudfoundry │ │ └── multiapps │ │ └── mta │ │ ├── MtaTestUtil.java │ │ ├── builders │ │ ├── ExtensionDescriptorChainBuilderTest.java │ │ ├── common │ │ │ └── AbstractChainBuilderTest.java │ │ └── v2 │ │ │ ├── ParametersChainBuilderTest.java │ │ │ └── PropertiesChainBuilderTest.java │ │ ├── handlers │ │ ├── ArchiveHandlerTest.java │ │ ├── ConfigurationParserTest.java │ │ ├── DescriptorParserFacadeTest.java │ │ ├── HandlerFactoryTest.java │ │ ├── SchemaVersionDetectorTest.java │ │ ├── common │ │ │ ├── AbstractDeployOrderTest.java │ │ │ ├── AbstractDescriptorMergerTest.java │ │ │ ├── AbstractDescriptorParserTest.java │ │ │ └── AbstractDescriptorValidatorTest.java │ │ ├── v2 │ │ │ ├── DescriptorMergerTest.java │ │ │ ├── DescriptorParserTest.java │ │ │ ├── DescriptorValidatorTest.java │ │ │ └── handler │ │ │ │ └── DeployOrderTest.java │ │ └── v3 │ │ │ ├── DescriptorMergerTest.java │ │ │ ├── DescriptorParserTest.java │ │ │ ├── DescriptorValidatorTest.java │ │ │ ├── ResourceBatchCalculatorTest.java │ │ │ └── handler │ │ │ ├── DeployOrderParallelTest.java │ │ │ └── DeployOrderSequentialTest.java │ │ ├── mergers │ │ └── PlatformMergerTest.java │ │ ├── parsers │ │ └── PartialVersionConverterTest.java │ │ ├── resolvers │ │ ├── LiveRoutesProvidedParametersResolverTest.java │ │ ├── ParameterCheckerTest.java │ │ ├── PropertiesResolverTest.java │ │ ├── ReferencePatternTest.java │ │ ├── ReferencesFinderTest.java │ │ ├── common │ │ │ └── AbstractReferencesUnescaperTest.java │ │ ├── v2 │ │ │ ├── DescriptorPlaceholderResolverTest.java │ │ │ ├── DescriptorReferenceResolverTest.java │ │ │ ├── ModulePlaceholderResolverTest.java │ │ │ └── ReferencesUnescaperTest.java │ │ └── v3 │ │ │ ├── DescriptorPlaceholderResolverTest.java │ │ │ ├── DescriptorReferenceResolverTest.java │ │ │ └── ReferencesUnescaperTest.java │ │ ├── schema │ │ └── SchemaValidatorTest.java │ │ ├── serialization │ │ ├── common │ │ │ └── AbstractDescriptorSerializationTest.java │ │ ├── v2 │ │ │ └── DescriptorSerializationTest.java │ │ └── v3 │ │ │ └── DescriptorSerializationTest.java │ │ └── util │ │ ├── DynamicParameterUtilTest.java │ │ ├── InflaterUtilTest.java │ │ ├── LimitedInputStreamTest.java │ │ ├── PropertiesUtilTest.java │ │ └── YamlParserTest.java │ └── resources │ ├── mta │ └── sample │ │ ├── platform-01.json │ │ ├── platform-02.json │ │ ├── platform-03.json │ │ ├── v2 │ │ ├── config-01-v2.mtaext │ │ ├── config-01.mtaext │ │ ├── config-02.mtaext │ │ ├── config-03.mtaext │ │ ├── config-04.mtaext │ │ ├── config-05.mtaext │ │ ├── config-07.mtaext │ │ ├── config-09.mtaext │ │ ├── config-10.mtaext │ │ ├── config-11.mtaext │ │ ├── invalid-list.json │ │ ├── list.json │ │ ├── merged-01.yaml │ │ ├── merged-03.yaml │ │ ├── merged-04.yaml.json │ │ ├── merged-05.yaml.json │ │ ├── merged-06.yaml │ │ ├── mtad-01-v2.yaml │ │ ├── mtad-01.yaml │ │ ├── mtad-02.yaml │ │ ├── mtad-03.yaml │ │ ├── mtad-04.yaml │ │ └── mtad-05.yaml │ │ └── v3 │ │ ├── config-01.mtaext │ │ ├── config-02.mtaext │ │ ├── config-03.mtaext │ │ ├── config-04.mtaext │ │ ├── config-05.mtaext │ │ ├── config-06.mtaext │ │ ├── config-07.mtaext │ │ ├── config-08.mtaext │ │ ├── config-09.mtaext │ │ ├── config-10.mtaext │ │ ├── merged-01.yaml │ │ ├── merged-03.yaml │ │ ├── merged-04.yaml.json │ │ ├── merged-05.yaml.json │ │ ├── merged-06.yaml │ │ ├── merged-06.yaml.json │ │ ├── merged-07.yaml.json │ │ ├── merged-08.yaml.json │ │ ├── mtad-01.yaml │ │ ├── mtad-02.yaml │ │ ├── mtad-03.yaml │ │ ├── mtad-04.yaml │ │ ├── mtad-05.yaml │ │ ├── mtad-06.yaml │ │ └── mtad-07.yaml │ └── org │ └── cloudfoundry │ └── multiapps │ └── mta │ ├── builders │ └── v2 │ │ ├── module-chain-01.json │ │ ├── module-chain-02.json │ │ ├── module-chain-03.json │ │ ├── module-chain-04.json │ │ ├── module-chain-05.json │ │ ├── module-chain-06.json │ │ ├── module-chain-without-dependencies-01.json │ │ ├── module-chain-without-dependencies-02.json │ │ ├── module-chain-without-dependencies-03.json │ │ ├── module-chain-without-dependencies-04.json │ │ ├── module-chain-without-dependencies-05.json │ │ ├── module-chain-without-dependencies-06.json │ │ ├── mtad-01.yaml │ │ ├── mtad-02.yaml │ │ ├── platform-01.json │ │ ├── platform-02.json │ │ ├── platform-03.json │ │ ├── platform-04.json │ │ ├── platform-05.json │ │ ├── resource-chain-01.json │ │ ├── resource-chain-02.json │ │ ├── resource-chain-03.json │ │ ├── resource-chain-04.json │ │ ├── resource-chain-05.json │ │ ├── resource-chain-06.json │ │ ├── resource-type-chain-01.json │ │ ├── resource-type-chain-02.json │ │ └── resource-type-chain-03.json │ ├── handlers │ ├── com.sap.mta.sample-1.2.1-beta-flat.mtar │ ├── com.sap.mta.sample-1.2.1-beta.mtar │ ├── config-05.mtaext │ ├── config-06.mtaext │ ├── config-07.mtaext │ ├── config-08.mtaext │ ├── config-invalid-resources.mtaext │ ├── config-valid.mtaext │ ├── empty.yaml │ ├── large.mta.descriptor.mtar │ ├── mtad-07.yaml │ ├── mtad-08.yaml │ ├── mtad-09.yaml │ ├── mtad-missing-schema.yaml │ ├── mtad-valid.yaml │ ├── platform-01.json.json │ ├── platform-02.json.json │ ├── platform-03.json.json │ ├── v2 │ │ ├── config-01.mtaext │ │ ├── config-01.mtaext.json │ │ ├── config-02.mtaext │ │ ├── config-03.mtaext │ │ ├── config-04.mtaext │ │ ├── config-with-partial-schema-version-major-quoted.mtaext │ │ ├── config-with-partial-schema-version-major.minor-quoted.mtaext │ │ ├── config-with-partial-schema-version-major.minor.mtaext │ │ ├── config-with-partial-schema-version-major.mtaext │ │ ├── merged-01.yaml │ │ ├── mtad-01.yaml │ │ ├── mtad-01.yaml.json │ │ ├── mtad-02.yaml │ │ ├── mtad-03.yaml │ │ ├── mtad-04.yaml │ │ ├── mtad-05.yaml │ │ ├── mtad-06.yaml │ │ ├── mtad-07.yaml │ │ ├── mtad-08.yaml │ │ ├── mtad-09.yaml │ │ ├── mtad-10.yaml │ │ ├── mtad-11.yaml │ │ ├── mtad-12.yaml │ │ ├── mtad-13.yaml │ │ ├── mtad-14.yaml │ │ ├── mtad-15.yaml │ │ ├── mtad-16.yaml │ │ ├── mtad-17.yaml │ │ ├── mtad-18.yaml │ │ ├── mtad-19.yaml │ │ ├── mtad-20.yaml │ │ ├── mtad-21.yaml │ │ ├── mtad-with-partial-schema-version-major-quoted.yaml │ │ ├── mtad-with-partial-schema-version-major.minor-quoted.yaml │ │ ├── mtad-with-partial-schema-version-major.minor.yaml │ │ ├── mtad-with-partial-schema-version-major.yaml │ │ ├── parsed-config-with-partial-schema-version.json │ │ └── parsed-mtad-with-partial-schema-version.json │ └── v3 │ │ ├── config-00.mtaext │ │ ├── config-01.mtaext │ │ ├── config-with-partial-schema-version-major-quoted.mtaext │ │ ├── config-with-partial-schema-version-major.minor-quoted.mtaext │ │ ├── config-with-partial-schema-version-major.minor.mtaext │ │ ├── config-with-partial-schema-version-major.mtaext │ │ ├── mtad-00-processed-after.yaml │ │ ├── mtad-00.yaml │ │ ├── mtad-01-processed-after.yaml │ │ ├── mtad-01.yaml │ │ ├── mtad-02.yaml │ │ ├── mtad-03-processed-after.yaml │ │ ├── mtad-04-processed-after.yaml │ │ ├── mtad-05-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-05-processed-after.yaml │ │ ├── mtad-05.yaml │ │ ├── mtad-06-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-06.yaml │ │ ├── mtad-07-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-07.yaml │ │ ├── mtad-08-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-08.yaml │ │ ├── mtad-09.yaml │ │ ├── mtad-10-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-10.yaml │ │ ├── mtad-11-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-11.yaml │ │ ├── mtad-12.yaml │ │ ├── mtad-13.yaml │ │ ├── mtad-14.yaml │ │ ├── mtad-15.yaml │ │ ├── mtad-16.yaml │ │ ├── mtad-17.yaml │ │ ├── mtad-18-deployed-after-with-parallel-deployments.yaml │ │ ├── mtad-18.yaml │ │ ├── mtad-deployed-after-transitive-relations.yaml │ │ ├── mtad-deployed-after.yaml │ │ ├── mtad-with-module-hooks-with-correct-data.yaml │ │ ├── mtad-with-module-hooks-with-more-hook-phases.yaml │ │ ├── mtad-with-module-hooks-with-two-hooks.yaml │ │ ├── mtad-with-module-hooks-without-type.yaml │ │ ├── mtad-with-partial-schema-version-major-quoted.yaml │ │ ├── mtad-with-partial-schema-version-major.minor-quoted.yaml │ │ ├── mtad-with-partial-schema-version-major.minor.yaml │ │ ├── mtad-with-partial-schema-version-major.yaml │ │ ├── parsed-config-00.mtaext │ │ ├── parsed-config-01.mtaext │ │ ├── parsed-config-with-partial-schema-version.json │ │ ├── parsed-mtad-00.json │ │ ├── parsed-mtad-01.json │ │ ├── parsed-mtad-02.json │ │ ├── parsed-mtad-with-hooks-correct-data.json │ │ ├── parsed-mtad-with-more-hook-phases.json │ │ ├── parsed-mtad-with-partial-schema-version.json │ │ ├── parsed-mtad-with-two-hooks.json │ │ ├── parsed-platform-00.json │ │ └── platform-00.json │ ├── mergers │ ├── mtad-00.yaml │ ├── mtad-01.yaml │ ├── platform-00.json │ ├── platform-01.json │ ├── platform-02.json │ ├── result-platform-00.json │ ├── result-platform-01.json │ └── result-platform-02.json │ ├── resolvers │ ├── moduleProperties.yaml │ ├── mtad-empty.yaml │ ├── mtad-match-complex.yaml │ ├── mtad-match-hooks.yaml │ ├── mtad-match-parameter-resource.yaml │ ├── mtad-match-parameter.yaml │ ├── mtad-match-provides-requires.yaml │ ├── mtad-reference-complex.yaml │ ├── mtad-reference-hooks.yaml │ ├── mtad-reference-parameter.yaml │ ├── mtad-reference-property.yaml │ ├── mtad-reference-provides-requires.yaml │ ├── mtad-valid.yaml │ ├── mtad-with-use-live-routes-in-provides-param.yaml │ ├── result-from-use-live-routes-in-provides-param.json │ ├── v2 │ │ ├── merged-01.yaml │ │ ├── merged-02.yaml │ │ ├── merged-03.yaml │ │ ├── merged-04.yaml │ │ ├── merged-05.yaml │ │ ├── merged-06.yaml │ │ ├── mtad-preservation-of-types.yaml │ │ ├── mtad-with-circular-reference-in-module.yaml │ │ ├── mtad-with-circular-reference-in-requires-dependency.yaml │ │ ├── mtad-with-circular-reference-in-resource.yaml │ │ ├── mtad-with-complex-circular-reference.yaml │ │ ├── mtad-with-concatenated-placeholders.yaml │ │ ├── mtad-with-escaped-placeholders.yaml │ │ ├── mtad-with-escaped-references.yaml │ │ ├── mtad-with-placeholder-in-a-nested-structure.yaml │ │ ├── mtad-with-placeholders-in-general-parameters.yaml │ │ ├── mtad-with-placeholders-in-module.yaml │ │ ├── mtad-with-placeholders-in-provides-dependency.yaml │ │ ├── mtad-with-placeholders-in-requires-dependency.yaml │ │ ├── mtad-with-placeholders-in-resource.yaml │ │ ├── mtad-with-placeholders-with-depth.yaml │ │ ├── mtad-with-repeating-placeholder.yaml │ │ ├── mtad-with-repeating-reference.yaml │ │ ├── mtad-with-single-elem-in-buildpacks.yaml │ │ ├── mtad-with-unresolvable-general-parameters.yaml │ │ ├── mtad-with-unresolvable-module-parameters.yaml │ │ ├── mtad-with-unresolvable-module-properties.yaml │ │ ├── mtad-with-unresolvable-requires-dependency-parameters.yaml │ │ ├── mtad-with-unresolvable-requires-dependency-properties.yaml │ │ ├── resolved-01.yaml.json │ │ ├── resolved-02.yaml.json │ │ ├── resolved-04.yaml.json │ │ ├── resolved-05.yaml.json │ │ ├── result-from-concatenated-parameters.json │ │ ├── result-from-escaped-placeholders.json │ │ ├── result-from-escaped-references.json │ │ ├── result-from-placeholder-in-a-nested-structure.json │ │ ├── result-from-placeholders-in-general-parameters.json │ │ ├── result-from-placeholders-in-module.json │ │ ├── result-from-placeholders-in-provides-dependency.json │ │ ├── result-from-placeholders-in-requires-dependency.json │ │ ├── result-from-placeholders-in-resource.json │ │ ├── result-from-placeholders-with-depth.json │ │ ├── result-from-repeating-placeholder.json │ │ ├── result-from-repeating-reference.json │ │ ├── result-from-unescaping-placeholders.json │ │ ├── result-from-unescaping-references.json │ │ └── result-preservation-of-types.json │ └── v3 │ │ ├── merged-01.yaml │ │ ├── merged-02.yaml │ │ ├── merged-03.yaml │ │ ├── merged-04.yaml │ │ ├── mtad-01.yaml │ │ ├── mtad-with-dynamic-parameter-placeholder.yaml │ │ ├── mtad-with-escaped-placeholders.yaml │ │ ├── mtad-with-escaped-references.yaml │ │ ├── mtad-with-placeholders-in-hook.yaml │ │ ├── resolved-01.yaml.json │ │ ├── resolved-02.yaml.json │ │ ├── resolved-03.yaml.json │ │ ├── result-01.json │ │ ├── result-from-dynamic-parameter-placeholder.json │ │ ├── result-from-escaped-placeholders.json │ │ ├── result-from-escaped-references.json │ │ ├── result-from-placeholders-in-hooks.json │ │ ├── result-from-unescaping-placeholders.json │ │ └── result-from-unescaping-references.json │ ├── schema │ ├── mtad-03.yaml │ ├── mtad-04.yaml │ ├── mtad-06.yaml │ ├── mtad-07.yaml │ ├── mtad-08.yaml │ ├── mtad-09.yaml │ └── mtad-10.yaml │ ├── serialization │ ├── v2 │ │ ├── extension-descriptor-00.mtaext │ │ ├── mtad-00.yaml │ │ ├── serialized-descriptor-00.json │ │ └── serialized-extension-00.json │ └── v3 │ │ ├── extension-descriptor-00.mtaext │ │ ├── extension-descriptor-01.mtaext │ │ ├── mtad-00.yaml │ │ ├── mtad-01.yaml │ │ ├── serialized-descriptor-00.json │ │ ├── serialized-descriptor-01.json │ │ ├── serialized-extension-00.json │ │ └── serialized-extension-01.json │ └── util │ ├── deflated-mta.mtar │ ├── deployment-properties-01.json │ ├── deployment-properties-02.json │ ├── deployment-properties-03.json │ ├── deployment-properties-04.json │ ├── deployment-properties-05.json │ ├── expected-deployment-descriptor.yaml │ ├── expected-map-01.json │ ├── extension-properties-01.json │ ├── extension-properties-02.json │ ├── extension-properties-03.json │ ├── extension-properties-04.json │ ├── extension-properties-05.json │ ├── merged-properties-01.json │ ├── merged-properties-02.json │ ├── merged-properties-03.json │ ├── mtad-with-security-violation.yaml │ └── mtad.yaml ├── pom.xml └── spec ├── README.md └── schemas ├── v2 └── v2.2 │ ├── exttest.yaml │ ├── mta-schema.yaml │ ├── mtaext-schema.yaml │ └── test.yaml └── v3 ├── v3.1 ├── exttest.yaml ├── mta-schema.yaml ├── mtaext-schema.yaml └── test.yaml ├── v3.2 ├── exttest.yaml ├── mta-schema.yaml ├── mtaext-schema.yaml └── test.yaml └── v3.3 ├── exttest.yaml ├── mta-schema.yaml ├── mtaext-schema.yaml └── test.yaml /.github/ISSUE_TEMPLATE/issue-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Issue Template 3 | about: MultiApps issue template for bugs and feature requests 4 | 5 | --- 6 | 7 | ### Description 8 | Describe your issue here. What is the expected behavior? What is the actual behavior? 9 | 10 | ### Steps to reproduce 11 | Tell us how to reproduce this issue. 12 | Create [GIST(s)](https://gist.github.com/) which is copy of your deployment and extension descriptor and link here (if applicable) 13 | 14 | ### Additional information 15 | 16 | Provide any application logs that are related to the issue. Create a [GIST(s)](https://gist.github.com/) which contains the logs. Please refrain of copying full logs here because it will make the issue hard to read. 17 | -------------------------------------------------------------------------------- /.github/workflows/check-commit-message.yml: -------------------------------------------------------------------------------- 1 | name: Check Commit Message for "LMCROSSITXSADEPLOY" 2 | 3 | on: 4 | pull_request: 5 | types: [ synchronize, opened ] 6 | 7 | jobs: 8 | check_commit_message: 9 | name: Check Commit Message 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Check Commit Message 14 | id: commits 15 | uses: actions/github-script@v7 16 | with: 17 | script: | 18 | const prNumber = context.payload.pull_request.number; 19 | const commits = await github.rest.pulls.listCommits({ 20 | owner: context.repo.owner, 21 | repo: context.repo.repo, 22 | pull_number: prNumber 23 | }); 24 | 25 | let containsText = false; 26 | for (const commitData of commits.data) { 27 | if (commitData.commit.message.includes("LMCROSSITXSADEPLOY")) { 28 | containsText = true; 29 | break; 30 | } 31 | } 32 | 33 | if (!containsText) { 34 | core.setFailed("❌ Check Commit Message - Failed: At least one commit must contain the word 'LMCROSSITXSADEPLOY'."); 35 | } -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Multiapps Main 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | - name: Set up JDK 17 13 | uses: actions/setup-java@v3 14 | with: 15 | java-version: '17' 16 | distribution: 'zulu' 17 | 18 | - name: Build and Run Unit Tests 19 | run: mvn clean install 20 | -------------------------------------------------------------------------------- /.github/workflows/pull-request-build.yml: -------------------------------------------------------------------------------- 1 | name: Multiapps PR Workflow 2 | 3 | on: 4 | pull_request: 5 | branches: [ master ] 6 | types: [opened, synchronize, reopened] 7 | 8 | jobs: 9 | build: 10 | name: Build and analyze 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - name: Set up JDK 17 15 | uses: actions/setup-java@v3 16 | with: 17 | java-version: '17' 18 | distribution: 'zulu' 19 | 20 | - name: Cache Maven packages 21 | uses: actions/cache@v3 22 | with: 23 | path: ~/.m2 24 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 25 | restore-keys: ${{ runner.os }}-m2 26 | 27 | - name: Build and Run Unit Tests 28 | run: mvn clean install 29 | -------------------------------------------------------------------------------- /.github/workflows/sonar-scan.yml: -------------------------------------------------------------------------------- 1 | name: Multiapps Sonar Scan 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - name: Set up JDK 17 15 | uses: actions/setup-java@v3 16 | with: 17 | java-version: '17' 18 | distribution: 'zulu' 19 | 20 | - name: Build and Analyze Code Coverage 21 | run: mvn clean install -Pcoverage 22 | 23 | - name: Sonar Scan 24 | env: 25 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any 26 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} 27 | run: mvn sonar:sonar -Dsonar.projectKey=cloudfoundry_multiapps 28 | 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | bin/ 3 | target/ 4 | .project 5 | .classpath 6 | .settings 7 | **/.factorypath 8 | *.iml 9 | *.war 10 | *.log 11 | .pmd 12 | .DS_Store -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 2 | This project contains software that is Copyright (c) 2015-2018 SAP SE or an SAP affiliate company. 3 | 4 | This project is licensed to you under the Apache License, Version 2.0 (the "License"). 5 | You may not use this project except in compliance with the License. 6 | 7 | This project may include a number of subcomponents with separate copyright notices 8 | and license terms. Your use of these subcomponents is subject to the terms and 9 | conditions of the subcomponent's license, as noted in the LICENSE file. 10 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | #### Description: 2 | 7 | 8 | 9 | #### Issue: 10 | 11 | -------------------------------------------------------------------------------- /ide/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/ide/image.png -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/logo.png -------------------------------------------------------------------------------- /multiapps-common-test/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module org.cloudfoundry.multiapps.common.test { 2 | 3 | exports org.cloudfoundry.multiapps.common.test; 4 | 5 | requires transitive org.apache.commons.lang3; 6 | requires transitive org.mockito; 7 | 8 | requires org.cloudfoundry.multiapps.common; 9 | requires org.apache.commons.io; 10 | requires org.junit.jupiter.api; 11 | 12 | requires static java.compiler; 13 | requires static org.immutables.value; 14 | 15 | } -------------------------------------------------------------------------------- /multiapps-common-test/src/main/java/org/cloudfoundry/multiapps/common/test/GenericArgumentMatcher.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.test; 2 | 3 | import org.cloudfoundry.multiapps.common.util.JsonUtil; 4 | import org.mockito.ArgumentMatcher; 5 | 6 | public class GenericArgumentMatcher implements ArgumentMatcher { 7 | 8 | private T expectedObject; 9 | 10 | protected GenericArgumentMatcher(T expectedObject) { 11 | this.expectedObject = expectedObject; 12 | } 13 | 14 | @Override 15 | public boolean matches(Object actualObject) { 16 | String actualJson = JsonUtil.toJson(actualObject); 17 | String expectedJson = JsonUtil.toJson(expectedObject); 18 | return expectedJson.equals(actualJson); 19 | } 20 | 21 | public static GenericArgumentMatcher forObject(T expectedObject) { 22 | return new GenericArgumentMatcher<>(expectedObject); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /multiapps-common-test/src/main/java/org/cloudfoundry/multiapps/common/test/package-info.java: -------------------------------------------------------------------------------- 1 | @MultiappsImmutablesStyle 2 | package org.cloudfoundry.multiapps.common.test; 3 | 4 | import org.cloudfoundry.multiapps.common.MultiappsImmutablesStyle; 5 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module org.cloudfoundry.multiapps.common { 2 | 3 | exports org.cloudfoundry.multiapps.common; 4 | exports org.cloudfoundry.multiapps.common.tags; 5 | exports org.cloudfoundry.multiapps.common.util; 6 | exports org.cloudfoundry.multiapps.common.util.yaml; 7 | 8 | requires transitive com.fasterxml.jackson.core; 9 | requires transitive com.fasterxml.jackson.databind; 10 | requires transitive org.yaml.snakeyaml; 11 | 12 | requires com.fasterxml.jackson.annotation; 13 | requires com.fasterxml.jackson.datatype.jsr310; 14 | requires org.apache.commons.io; 15 | requires org.apache.commons.lang3; 16 | 17 | requires static java.compiler; 18 | requires static org.immutables.value; 19 | requires java.xml; 20 | requires jakarta.xml.bind; 21 | } 22 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/AllowNulls.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | /** 4 | * Used for generation of code via Immutables. 5 | * 6 | */ 7 | public @interface AllowNulls { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/ConflictException.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | public class ConflictException extends SLException { 4 | 5 | private static final long serialVersionUID = -5242703502357086032L; 6 | 7 | public ConflictException(String message, Object... arguments) { 8 | super(message, arguments); 9 | } 10 | 11 | public ConflictException(String message) { 12 | super(message); 13 | } 14 | 15 | public ConflictException(Throwable cause, String message, Object... arguments) { 16 | super(cause, message, arguments); 17 | } 18 | 19 | public ConflictException(Throwable cause, String message) { 20 | super(cause, message); 21 | } 22 | 23 | public ConflictException(Throwable cause) { 24 | super(cause); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/ContentException.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | public class ContentException extends SLException { 4 | 5 | private static final long serialVersionUID = 4471159624548251863L; 6 | 7 | public ContentException(String message, Object... arguments) { 8 | super(message, arguments); 9 | } 10 | 11 | public ContentException(String message) { 12 | super(message); 13 | } 14 | 15 | public ContentException(Throwable cause, String message, Object... arguments) { 16 | super(cause, message, arguments); 17 | } 18 | 19 | public ContentException(Throwable cause, String message) { 20 | super(cause, message); 21 | } 22 | 23 | public ContentException(Throwable cause) { 24 | super(cause); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/MultiappsImmutablesStyle.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | import org.immutables.value.Value; 4 | 5 | /** 6 | * Used for generation of code via Immutables. 7 | * 8 | */ 9 | @Value.Style(depluralize = true, jdkOnly = true, allowedClasspathAnnotations = java.lang.Override.class) 10 | public @interface MultiappsImmutablesStyle { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/NotFoundException.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | public class NotFoundException extends SLException { 4 | 5 | private static final long serialVersionUID = 7986577364697817675L; 6 | 7 | public NotFoundException(String message, Object... arguments) { 8 | super(message, arguments); 9 | } 10 | 11 | public NotFoundException(String message) { 12 | super(message); 13 | } 14 | 15 | public NotFoundException(Throwable cause, String message, Object... arguments) { 16 | super(cause, message, arguments); 17 | } 18 | 19 | public NotFoundException(Throwable cause, String message) { 20 | super(cause, message); 21 | } 22 | 23 | public NotFoundException(Throwable cause) { 24 | super(cause); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/Nullable.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | /** 4 | * Used for generation of code via Immutables. 5 | * 6 | */ 7 | public @interface Nullable { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/ParsingException.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | public class ParsingException extends ContentException { 4 | 5 | private static final long serialVersionUID = 1864427839197780675L; 6 | 7 | public ParsingException(String message, Object... arguments) { 8 | super(message, arguments); 9 | } 10 | 11 | public ParsingException(String message) { 12 | super(message); 13 | } 14 | 15 | public ParsingException(Throwable cause, String message, Object... arguments) { 16 | super(cause, message, arguments); 17 | } 18 | 19 | public ParsingException(Throwable cause, String message) { 20 | super(cause, message); 21 | } 22 | 23 | public ParsingException(Throwable cause) { 24 | super(cause); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/SLException.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | import java.text.MessageFormat; 4 | 5 | /** 6 | * Exception thrown when an LM-related error occurs. 7 | */ 8 | public class SLException extends RuntimeException { 9 | 10 | private static final long serialVersionUID = 8047984378256199958L; 11 | 12 | public SLException(String message, Object... arguments) { 13 | this(MessageFormat.format(message, arguments)); 14 | } 15 | 16 | public SLException(String message) { 17 | super(message); 18 | } 19 | 20 | public SLException(Throwable cause, String message, Object... arguments) { 21 | super(MessageFormat.format(message, arguments), cause); 22 | } 23 | 24 | public SLException(Throwable cause, String message) { 25 | super(message, cause); 26 | } 27 | 28 | public SLException(Throwable cause) { 29 | super(cause.getMessage(), cause); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/SkipNulls.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | /** 4 | * Used for generation of code via Immutables. 5 | * 6 | */ 7 | public @interface SkipNulls { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/package-info.java: -------------------------------------------------------------------------------- 1 | @MultiappsImmutablesStyle 2 | package org.cloudfoundry.multiapps.common; 3 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/tags/SecureConstruct.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.tags; 2 | 3 | import org.yaml.snakeyaml.constructor.AbstractConstruct; 4 | import org.yaml.snakeyaml.nodes.Node; 5 | import org.yaml.snakeyaml.nodes.ScalarNode; 6 | 7 | public class SecureConstruct extends AbstractConstruct { 8 | @Override 9 | public Object construct(Node node) { 10 | ScalarNode scalarNode = (ScalarNode) node; 11 | return new SecureObject(scalarNode.getValue()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/tags/SecureObject.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.tags; 2 | 3 | public class SecureObject implements TaggedObject { 4 | 5 | private String value; 6 | 7 | public SecureObject(String value) { 8 | this.value = value; 9 | } 10 | 11 | @Override 12 | public String getName() { 13 | return "sensitive"; 14 | } 15 | 16 | @Override 17 | public boolean getMetadataValue() { 18 | return true; 19 | } 20 | 21 | @Override 22 | public String getValue() { 23 | return value; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/tags/TaggedObject.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.tags; 2 | 3 | public interface TaggedObject { 4 | 5 | String getName(); 6 | 7 | boolean getMetadataValue(); 8 | 9 | String getValue(); 10 | } 11 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/tags/YamlTaggedObjectsConstructor.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.tags; 2 | 3 | import org.yaml.snakeyaml.LoaderOptions; 4 | import org.yaml.snakeyaml.constructor.SafeConstructor; 5 | import org.yaml.snakeyaml.nodes.Tag; 6 | 7 | public class YamlTaggedObjectsConstructor extends SafeConstructor { 8 | 9 | private static final String SENSITIVE_TAG = "!sensitive"; 10 | 11 | public YamlTaggedObjectsConstructor(LoaderOptions loaderOptions) { 12 | super(loaderOptions); 13 | this.yamlConstructors.put(new Tag(SENSITIVE_TAG), new SecureConstruct()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/JsonSerializationStrategy.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util; 2 | 3 | public enum JsonSerializationStrategy { 4 | 5 | DEFAULT, ALLOW_NULLS 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/ListUtil.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collections; 5 | import java.util.List; 6 | 7 | public class ListUtil { 8 | 9 | private ListUtil() { 10 | } 11 | 12 | @SuppressWarnings("unchecked") 13 | public static List cast(List list) { 14 | return list == null ? null : new ArrayList<>((List) list); 15 | } 16 | 17 | public static List asList(T item) { 18 | if (item == null) { 19 | return Collections.emptyList(); 20 | } 21 | return Collections.singletonList(item); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/yaml/YamlAdapter.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util.yaml; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface YamlAdapter { 11 | Class> value(); 12 | } 13 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/yaml/YamlConverter.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util.yaml; 2 | 3 | public interface YamlConverter { 4 | 5 | V convert(T value); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/yaml/YamlElement.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util.yaml; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface YamlElement { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/yaml/YamlElementOrder.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util.yaml; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface YamlElementOrder { 11 | String[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /multiapps-common/src/main/java/org/cloudfoundry/multiapps/common/util/yaml/YamlPropertyComparator.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util.yaml; 2 | 3 | import java.util.Comparator; 4 | import java.util.List; 5 | 6 | import org.yaml.snakeyaml.introspector.Property; 7 | 8 | public class YamlPropertyComparator implements Comparator { 9 | 10 | private List fieldOrder; 11 | 12 | YamlPropertyComparator(List fieldOrder) { 13 | this.fieldOrder = fieldOrder; 14 | } 15 | 16 | @Override 17 | public int compare(Property o1, Property o2) { 18 | if (fieldOrder.contains(o1.getName()) && fieldOrder.contains(o2.getName())) { 19 | return fieldOrder.indexOf(o1.getName()) > fieldOrder.indexOf(o2.getName()) ? 1 : -1; 20 | } 21 | if (!fieldOrder.contains(o1.getName()) && !fieldOrder.contains(o2.getName())) { 22 | return o1.getName() 23 | .compareTo(o2.getName()); 24 | } 25 | if (fieldOrder.contains(o1.getName())) { 26 | return -1; 27 | } 28 | return 1; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /multiapps-common/src/test/java/org/cloudfoundry/multiapps/common/SLExceptionTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | class SLExceptionTest { 8 | 9 | @Test 10 | void testProperlyConstructedPattern() { 11 | String msg = "Executing Activiti task \"{1}\" of process \"{0}\""; 12 | SLException slException = new SLException(msg, "{foo}", "bar"); 13 | SLException slException2 = new SLException(slException); 14 | 15 | assertEquals(slException.getMessage(), slException2.getMessage(), "Nested SLException's messages should match"); 16 | } 17 | 18 | @Test 19 | void testExceptionWrappedBySLException() { 20 | String msg = "This is a }{ json: [{\"0\": \"1\"}]"; 21 | Exception exception = new Exception(msg); 22 | SLException slException = new SLException(exception); 23 | 24 | assertEquals(exception.getMessage(), slException.getMessage(), "SLException should reuse it's cause's message"); 25 | } 26 | } -------------------------------------------------------------------------------- /multiapps-common/src/test/java/org/cloudfoundry/multiapps/common/util/DigestHelperTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.common.util; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; 4 | 5 | import java.nio.file.Paths; 6 | 7 | import org.junit.jupiter.api.Test; 8 | 9 | class DigestHelperTest { 10 | 11 | @Test 12 | void testComputeFileChecksum() throws Exception { 13 | assertEquals("439B99DFFD0583200D5D21F4CD1BF035", 14 | DigestHelper.computeFileChecksum(Paths.get("src/test/resources/org/cloudfoundry/multiapps/common/util/web.zip"), 15 | "MD5")); 16 | } 17 | 18 | @Test 19 | void testComputeDirectoryChecksum() throws Exception { 20 | assertEquals("EDEF7E9885FED1A58597212AF0522614", 21 | DigestHelper.computeDirectoryCheckSum(Paths.get("src/test/resources/org/cloudfoundry/multiapps/common/util"), "MD5")); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /multiapps-common/src/test/resources/org/cloudfoundry/multiapps/common/util/web.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-common/src/test/resources/org/cloudfoundry/multiapps/common/util/web.zip -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/Constants.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta; 2 | 3 | public class Constants { 4 | 5 | private Constants() { 6 | } 7 | 8 | public static final String PARAMETER_ELEMENT_TYPE_NAME = "parameter"; 9 | public static final String PROPERTY_ELEMENT_TYPE_NAME = "property"; 10 | } 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/ModulesSorter.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers; 2 | 3 | import java.util.List; 4 | 5 | import org.cloudfoundry.multiapps.mta.model.Module; 6 | 7 | public interface ModulesSorter { 8 | 9 | List sort(); 10 | } 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/v2/DescriptorMerger.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers.v2; 2 | 3 | import java.util.List; 4 | 5 | import org.cloudfoundry.multiapps.mta.mergers.v2.ExtensionDescriptorMerger; 6 | import org.cloudfoundry.multiapps.mta.model.DeploymentDescriptor; 7 | import org.cloudfoundry.multiapps.mta.model.ExtensionDescriptor; 8 | 9 | public class DescriptorMerger { 10 | 11 | protected final DescriptorHandler handler; 12 | 13 | public DescriptorMerger() { 14 | this(new DescriptorHandler()); 15 | } 16 | 17 | public DescriptorMerger(DescriptorHandler handler) { 18 | this.handler = handler; 19 | } 20 | 21 | public ExtensionDescriptorMerger getExtensionDescriptorMerger(ExtensionDescriptor extension) { 22 | return new ExtensionDescriptorMerger(extension, handler); 23 | } 24 | 25 | public DeploymentDescriptor merge(DeploymentDescriptor deploymentDescriptor, List extensionDescriptorsChain) { 26 | for (ExtensionDescriptor extension : extensionDescriptorsChain) { 27 | deploymentDescriptor = getExtensionDescriptorMerger(extension).merge(deploymentDescriptor); 28 | } 29 | return deploymentDescriptor; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/v2/ResourceBatchCalculator.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers.v2; 2 | 3 | import org.cloudfoundry.multiapps.mta.model.Resource; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | public class ResourceBatchCalculator { 9 | 10 | public Map> groupResourcesByWeight(List resources) { 11 | return Map.of(1, resources); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/v2/SelectiveDeployChecker.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers.v2; 2 | 3 | import org.cloudfoundry.multiapps.mta.model.Resource; 4 | 5 | import java.util.List; 6 | 7 | public class SelectiveDeployChecker { 8 | 9 | public void check(List resourcesForDeployment) { 10 | // Required since selective deploy with schema version 2 should not check dependent resources 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/v3/DescriptorMerger.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers.v3; 2 | 3 | import org.cloudfoundry.multiapps.mta.mergers.v3.ExtensionDescriptorMerger; 4 | import org.cloudfoundry.multiapps.mta.model.ExtensionDescriptor; 5 | 6 | public class DescriptorMerger extends org.cloudfoundry.multiapps.mta.handlers.v2.DescriptorMerger { 7 | 8 | public DescriptorMerger() { 9 | super(new DescriptorHandler()); 10 | } 11 | 12 | public DescriptorMerger(DescriptorHandler handler) { 13 | super(handler); 14 | } 15 | 16 | @Override 17 | public ExtensionDescriptorMerger getExtensionDescriptorMerger(ExtensionDescriptor extension) { 18 | return new ExtensionDescriptorMerger(extension, (DescriptorHandler) handler); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/handlers/v3/DescriptorParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.handlers.v3; 2 | 3 | import java.util.Map; 4 | 5 | import org.cloudfoundry.multiapps.mta.parsers.v3.DeploymentDescriptorParser; 6 | import org.cloudfoundry.multiapps.mta.parsers.v3.ExtensionDescriptorParser; 7 | import org.cloudfoundry.multiapps.mta.schema.SchemaValidator; 8 | 9 | public class DescriptorParser extends org.cloudfoundry.multiapps.mta.handlers.v2.DescriptorParser { 10 | 11 | public DescriptorParser() { 12 | super(new SchemaValidator(Schemas.MTAD), new SchemaValidator(Schemas.MTAEXT)); 13 | } 14 | 15 | protected DescriptorParser(SchemaValidator mtadValidator, SchemaValidator mtaextValidator) { 16 | super(mtadValidator, mtaextValidator); 17 | } 18 | 19 | @Override 20 | protected ExtensionDescriptorParser getExtensionDescriptorParser(Map map) { 21 | return new org.cloudfoundry.multiapps.mta.parsers.v3.ExtensionDescriptorParser(map); 22 | } 23 | 24 | @Override 25 | protected DeploymentDescriptorParser getDeploymentDescriptorParser(Map map) { 26 | return new org.cloudfoundry.multiapps.mta.parsers.v3.DeploymentDescriptorParser(map); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/helpers/SimplePropertyVisitor.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.helpers; 2 | 3 | public interface SimplePropertyVisitor { 4 | 5 | Object visit(String key, String value); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/AuditableConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.util.List; 4 | 5 | public interface AuditableConfiguration { 6 | 7 | String getConfigurationType(); 8 | 9 | String getConfigurationName(); 10 | 11 | List getConfigurationIdentifiers(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/ConfigurationIdentifier.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public class ConfigurationIdentifier { 4 | 5 | private String identifierName; 6 | private String identifierValue; 7 | 8 | public ConfigurationIdentifier(String identifierName, String identifierValue) { 9 | this.identifierName = identifierName; 10 | this.identifierValue = identifierValue; 11 | } 12 | 13 | public String getIdentifierName() { 14 | return identifierName; 15 | } 16 | 17 | public void setIdentifierName(String identifierName) { 18 | this.identifierName = identifierName; 19 | } 20 | 21 | public String getIdentifierValue() { 22 | return identifierValue; 23 | } 24 | 25 | public void setIdentifierValue(String identifierValue) { 26 | this.identifierValue = identifierValue; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/DeploymentType.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public enum DeploymentType { 4 | 5 | DEPLOYMENT, REDEPLOYMENT, UPGRADE, DOWNGRADE; 6 | 7 | public static DeploymentType fromVersions(Version oldVersion, Version newVersion) { 8 | if (oldVersion == null) { 9 | return DEPLOYMENT; 10 | } 11 | int comparisonResult = oldVersion.compareTo(newVersion); 12 | if (comparisonResult > 0) { 13 | return DOWNGRADE; 14 | } 15 | if (comparisonResult < 0) { 16 | return UPGRADE; 17 | } 18 | return REDEPLOYMENT; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/Descriptor.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.util.Collection; 4 | import java.util.List; 5 | import java.util.stream.Collectors; 6 | 7 | public interface Descriptor { 8 | 9 | String getId(); 10 | 11 | static List getIds(Collection descriptors) { 12 | return descriptors.stream() 13 | .map(Descriptor::getId) 14 | .collect(Collectors.toList()); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/NamedElement.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public interface NamedElement { 4 | 5 | String getName(); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/NamedParametersContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public interface NamedParametersContainer extends NamedElement, ParametersContainer { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/ParametersContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.util.Map; 4 | 5 | public interface ParametersContainer { 6 | 7 | Map getParameters(); 8 | 9 | Object setParameters(Map parameters); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/ParametersWithMetadataContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public interface ParametersWithMetadataContainer extends ParametersContainer { 4 | 5 | Object setParametersMetadata(Metadata metadata); 6 | 7 | Metadata getParametersMetadata(); 8 | } 9 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/PropertiesContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.util.Map; 4 | 5 | public interface PropertiesContainer { 6 | 7 | Map getProperties(); 8 | 9 | Object setProperties(Map properties); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/PropertiesWithMetadataContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public interface PropertiesWithMetadataContainer extends PropertiesContainer { 4 | 5 | Object setPropertiesMetadata(Metadata metadata); 6 | 7 | Metadata getPropertiesMetadata(); 8 | } 9 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/ResourceType.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.util.Collections; 4 | import java.util.Map; 5 | 6 | import org.apache.commons.lang3.ObjectUtils; 7 | 8 | public class ResourceType implements VisitableElement, NamedElement, ParametersContainer { 9 | 10 | private String name; 11 | private Map parameters = Collections.emptyMap(); 12 | 13 | @Override 14 | public String getName() { 15 | return name; 16 | } 17 | 18 | @Override 19 | public Map getParameters() { 20 | return parameters; 21 | } 22 | 23 | public ResourceType setName(String name) { 24 | this.name = ObjectUtils.defaultIfNull(name, this.name); 25 | return this; 26 | } 27 | 28 | @Override 29 | public ResourceType setParameters(Map parameters) { 30 | this.parameters = ObjectUtils.defaultIfNull(parameters, this.parameters); 31 | return this; 32 | } 33 | 34 | @Override 35 | public void accept(ElementContext context, Visitor visitor) { 36 | visitor.visit(context, this); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/VersionedEntity.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | import java.text.MessageFormat; 4 | 5 | import org.cloudfoundry.multiapps.mta.Messages; 6 | 7 | public class VersionedEntity { 8 | 9 | protected final int majorSchemaVersion; 10 | 11 | public VersionedEntity(int majorSchemaVersion) { 12 | this.majorSchemaVersion = majorSchemaVersion; 13 | } 14 | 15 | protected void supportedSince(int requiredMajorSchemaVersion) { 16 | if (this.majorSchemaVersion < requiredMajorSchemaVersion) { 17 | throw new UnsupportedOperationException(MessageFormat.format(Messages.ENTITIES_FROM_CLASS_0_WITH_SCHEMA_VERSION_1_DO_NOT_SUPPORT_THIS_OPERATION_AT_LEAST_2_IS_REQUIRED, 18 | getClass().getSimpleName(), this.majorSchemaVersion, 19 | requiredMajorSchemaVersion)); 20 | } 21 | } 22 | 23 | public int getMajorSchemaVersion() { 24 | return majorSchemaVersion; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/model/VisitableElement.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.model; 2 | 3 | public interface VisitableElement { 4 | 5 | void accept(ElementContext context, Visitor visitor); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/package-info.java: -------------------------------------------------------------------------------- 1 | @MultiappsImmutablesStyle 2 | package org.cloudfoundry.multiapps.mta; 3 | 4 | import org.cloudfoundry.multiapps.common.MultiappsImmutablesStyle; 5 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/parsers/ListParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.parsers; 2 | 3 | import java.util.Collections; 4 | import java.util.List; 5 | import java.util.Map; 6 | import java.util.stream.Collectors; 7 | 8 | import org.cloudfoundry.multiapps.common.ParsingException; 9 | import org.cloudfoundry.multiapps.common.util.ListUtil; 10 | 11 | public abstract class ListParser implements Parser> { 12 | 13 | protected List> source = Collections.emptyList(); 14 | 15 | public ListParser setSource(List source) { 16 | this.source = ListUtil.cast(source); 17 | return this; 18 | } 19 | 20 | @Override 21 | public List parse() throws ParsingException { 22 | return Collections.unmodifiableList(source.stream() 23 | .map(this::parseItem) 24 | .collect(Collectors.toList())); 25 | } 26 | 27 | protected abstract T parseItem(Map map); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/parsers/Parser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.parsers; 2 | 3 | import org.cloudfoundry.multiapps.common.ParsingException; 4 | 5 | public interface Parser { 6 | 7 | T parse() throws ParsingException; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/parsers/v3/ExtensionDescriptorParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.parsers.v3; 2 | 3 | import static org.cloudfoundry.multiapps.mta.handlers.v2.Schemas.MTAEXT; 4 | 5 | import java.util.Map; 6 | 7 | import org.cloudfoundry.multiapps.mta.model.ExtensionDescriptor; 8 | import org.cloudfoundry.multiapps.mta.schema.MapElement; 9 | 10 | public class ExtensionDescriptorParser extends org.cloudfoundry.multiapps.mta.parsers.v2.ExtensionDescriptorParser { 11 | 12 | public ExtensionDescriptorParser(Map source) { 13 | super(MTAEXT, source); 14 | } 15 | 16 | protected ExtensionDescriptorParser(MapElement schema, Map source) { 17 | super(schema, source); 18 | } 19 | 20 | @Override 21 | protected ExtensionDescriptor createEntity() { 22 | return ExtensionDescriptor.createV3(); 23 | } 24 | 25 | @Override 26 | protected ExtensionModuleParser getModuleParser(Map source) { 27 | return new ExtensionModuleParser(source); // v3 28 | } 29 | 30 | @Override 31 | protected ExtensionResourceParser getResourceParser(Map source) { 32 | return new ExtensionResourceParser(source); // v3 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/parsers/v3/ExtensionProvidedDependencyParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.parsers.v3; 2 | 3 | import static org.cloudfoundry.multiapps.mta.handlers.v2.Schemas.EXT_PROVIDED_DEPENDENCY; 4 | 5 | import java.util.Map; 6 | 7 | import org.cloudfoundry.multiapps.mta.model.ExtensionProvidedDependency; 8 | import org.cloudfoundry.multiapps.mta.schema.MapElement; 9 | 10 | public class ExtensionProvidedDependencyParser extends org.cloudfoundry.multiapps.mta.parsers.v2.ExtensionProvidedDependencyParser { 11 | 12 | public ExtensionProvidedDependencyParser(Map source) { 13 | super(EXT_PROVIDED_DEPENDENCY, source); 14 | } 15 | 16 | protected ExtensionProvidedDependencyParser(MapElement schema, Map source) { 17 | super(schema, source); 18 | } 19 | 20 | @Override 21 | protected ExtensionProvidedDependency createEntity() { 22 | return ExtensionProvidedDependency.createV3(); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/parsers/v3/ExtensionRequiredDependencyParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.parsers.v3; 2 | 3 | import static org.cloudfoundry.multiapps.mta.handlers.v2.Schemas.EXT_REQUIRED_DEPENDENCY; 4 | 5 | import java.util.Map; 6 | 7 | import org.cloudfoundry.multiapps.mta.model.ExtensionRequiredDependency; 8 | import org.cloudfoundry.multiapps.mta.schema.MapElement; 9 | 10 | public class ExtensionRequiredDependencyParser extends org.cloudfoundry.multiapps.mta.parsers.v2.ExtensionRequiredDependencyParser { 11 | 12 | public ExtensionRequiredDependencyParser(Map source) { 13 | super(EXT_REQUIRED_DEPENDENCY, source); 14 | } 15 | 16 | protected ExtensionRequiredDependencyParser(MapElement schema, Map source) { 17 | super(schema, source); 18 | } 19 | 20 | @Override 21 | protected ExtensionRequiredDependency createEntity() { 22 | return ExtensionRequiredDependency.createV3(); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/CustomParameterContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.List; 4 | 5 | public class CustomParameterContainer { 6 | 7 | private final String parameterOwner; 8 | private final List customParameters; 9 | 10 | private final String prefixedName; 11 | 12 | public CustomParameterContainer(String parameterOwner, List parameters, String prefixedName) { 13 | this.parameterOwner = parameterOwner; 14 | this.customParameters = parameters; 15 | this.prefixedName = prefixedName; 16 | } 17 | 18 | public String getParameterOwner() { 19 | return parameterOwner; 20 | } 21 | 22 | public String getPrefixedName() { 23 | return prefixedName; 24 | } 25 | 26 | public List getParameters() { 27 | return customParameters; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/LiveRoutesProvidedParametersResolverBuilder.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import org.cloudfoundry.multiapps.mta.model.DeploymentDescriptor; 4 | 5 | public class LiveRoutesProvidedParametersResolverBuilder { 6 | 7 | private final DeploymentDescriptor descriptor; 8 | private final String useLiveRoutesParameterKeyName; 9 | 10 | public LiveRoutesProvidedParametersResolverBuilder(DeploymentDescriptor descriptor, String useLiveRoutesParameterKeyName) { 11 | this.descriptor = descriptor; 12 | this.useLiveRoutesParameterKeyName = useLiveRoutesParameterKeyName; 13 | } 14 | 15 | public LiveRoutesProvidedParametersResolver build() { 16 | return new LiveRoutesProvidedParametersResolver(descriptor, useLiveRoutesParameterKeyName); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/NullPropertiesResolverBuilder.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.Map; 4 | import java.util.Set; 5 | 6 | public class NullPropertiesResolverBuilder extends ResolverBuilder { 7 | 8 | @Override 9 | public PropertiesResolver build(Map properties, ProvidedValuesResolver valuesResolver, ReferencePattern patternToMatch, 10 | String prefix, Boolean isStrict, Set dynamicResolvableParameters) { 11 | return new NullPropertiesResolver(properties); 12 | } 13 | 14 | private static class NullPropertiesResolver extends PropertiesResolver { 15 | 16 | private Map properties; 17 | 18 | NullPropertiesResolver(Map properties) { 19 | this.properties = properties; 20 | } 21 | 22 | @Override 23 | public Map resolve() { 24 | return this.properties; 25 | } 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/PropertiesPlaceholderResolver.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import static org.cloudfoundry.multiapps.mta.resolvers.ReferencePattern.PLACEHOLDER; 4 | 5 | import java.util.Map; 6 | import java.util.Set; 7 | 8 | public class PropertiesPlaceholderResolver { 9 | 10 | protected final ResolverBuilder propertiesResolverBuilder; 11 | protected final Set dynamicResolvableParameters; 12 | 13 | public PropertiesPlaceholderResolver(ResolverBuilder propertiesResolverBuilder, Set dynamicResolvableParameters) { 14 | this.propertiesResolverBuilder = propertiesResolverBuilder; 15 | this.dynamicResolvableParameters = dynamicResolvableParameters; 16 | } 17 | 18 | public Map resolve(Map properties, final Map replacementValues, String prefix) { 19 | ProvidedValuesResolver valuesResolver = irrelevant -> replacementValues; 20 | return propertiesResolverBuilder.build(properties, valuesResolver, PLACEHOLDER, prefix, true, dynamicResolvableParameters) 21 | .resolve(); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/ProvidedValuesResolver.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.Map; 4 | 5 | public interface ProvidedValuesResolver { 6 | 7 | Map resolveProvidedValues(String providesName); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/Reference.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | public class Reference { 4 | 5 | private final String key; 6 | private final String matchedPattern; 7 | private final String dependencyName; 8 | 9 | public Reference(String matchedPattern, String key) { 10 | this(matchedPattern, key, null); 11 | } 12 | 13 | public Reference(String matchedPattern, String key, String dependencyName) { 14 | this.matchedPattern = matchedPattern; 15 | this.key = key; 16 | this.dependencyName = dependencyName; 17 | } 18 | 19 | public String getKey() { 20 | return key; 21 | } 22 | 23 | public String getMatchedPattern() { 24 | return matchedPattern; 25 | } 26 | 27 | public String getDependencyName() { 28 | return dependencyName; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/ReferenceContainer.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.List; 4 | 5 | public class ReferenceContainer { 6 | 7 | private final String referenceOwner; 8 | private final List references; 9 | 10 | public ReferenceContainer(String referenceOwner, List references) { 11 | this.referenceOwner = referenceOwner; 12 | this.references = references; 13 | } 14 | 15 | public String getReferenceOwner() { 16 | return referenceOwner; 17 | } 18 | 19 | public List getReferences() { 20 | return references; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/Resolver.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | public interface Resolver { 4 | 5 | T resolve(); 6 | 7 | } -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/ResolverBuilder.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.Map; 4 | import java.util.Set; 5 | 6 | public class ResolverBuilder { 7 | 8 | public PropertiesResolver build(Map properties, ProvidedValuesResolver valuesResolver, ReferencePattern patternToMatch, 9 | String prefix, Boolean isStrict, Set dynamicResolvableParameters) { 10 | return new PropertiesResolver(properties, valuesResolver, patternToMatch, prefix, isStrict, dynamicResolvableParameters); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/resolvers/ValueMatcher.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers; 2 | 3 | import java.util.List; 4 | 5 | public interface ValueMatcher { 6 | 7 | List match(String line); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/schema/ListElement.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.schema; 2 | 3 | import java.util.List; 4 | 5 | public class ListElement extends Element { 6 | 7 | private final Element element; 8 | 9 | public ListElement(Element element) { 10 | this(new ElementBuilder(), element); 11 | } 12 | 13 | public ListElement(ElementBuilder elementBuilder, Element element) { 14 | super(elementBuilder); 15 | this.element = element; 16 | } 17 | 18 | public Element getElement() { 19 | return element; 20 | } 21 | 22 | @Override 23 | public Class getType() { 24 | return List.class; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/schema/MapElement.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.schema; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class MapElement extends Element { 7 | 8 | private final Map map; 9 | 10 | public MapElement() { 11 | this(new ElementBuilder(), new HashMap<>()); 12 | } 13 | 14 | public MapElement(ElementBuilder builder) { 15 | this(builder, new HashMap<>()); 16 | } 17 | 18 | public MapElement(ElementBuilder builder, Map map) { 19 | super(builder); 20 | this.map = map; 21 | } 22 | 23 | public Map getMap() { 24 | return map; 25 | } 26 | 27 | public void add(String key, Element element) { 28 | map.put(key, element); 29 | } 30 | 31 | @Override 32 | public Class getType() { 33 | return Map.class; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/util/DynamicParameterUtil.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.util; 2 | 3 | public final class DynamicParameterUtil { 4 | 5 | public static final String PATTERN_FOR_DYNAMIC_PARAMETERS = "'{'ds/{0}/{1}'}'"; 6 | public static final String REGEX_PATTERN_FOR_DYNAMIC_PARAMETERS = "^\\{ds[A-Za-z0-9_\\-\\.\\/]+\\}$"; 7 | 8 | private DynamicParameterUtil() { 9 | } 10 | 11 | public static String getRelationshipName(String dynamicParameter) { 12 | return dynamicParameter.substring(dynamicParameter.indexOf("/") + 1, dynamicParameter.lastIndexOf("/")); 13 | } 14 | 15 | public static String getParameterName(String dynamicParameter) { 16 | return dynamicParameter.substring(dynamicParameter.lastIndexOf("/") + 1, dynamicParameter.lastIndexOf("}")); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/util/EntryToInflate.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.util; 2 | 3 | import java.io.InputStream; 4 | 5 | public record EntryToInflate(String name, long maxSizeInBytes, InputStream inputStream) { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/util/MetadataConverter.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.util; 2 | 3 | import java.util.Map; 4 | 5 | import org.cloudfoundry.multiapps.common.util.yaml.YamlConverter; 6 | import org.cloudfoundry.multiapps.mta.model.Metadata; 7 | 8 | public class MetadataConverter implements YamlConverter>> { 9 | 10 | @Override 11 | public Map> convert(Metadata value) { 12 | return value.getMetadataMap(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/util/NameUtil.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.util; 2 | 3 | import org.apache.commons.lang3.StringUtils; 4 | 5 | public final class NameUtil { 6 | 7 | private NameUtil() { 8 | } 9 | 10 | public static final String DEFAULT_PREFIX_SEPARATOR = "#"; 11 | 12 | public static String getPrefixedName(String prefix, String name) { 13 | return getPrefixedName(prefix, name, NameUtil.DEFAULT_PREFIX_SEPARATOR); 14 | } 15 | 16 | public static String getPrefixedName(String prefix, String name, String separator) { 17 | if (StringUtils.isEmpty(prefix)) { 18 | return name; 19 | } 20 | return prefix + separator + name; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /multiapps-mta/src/main/java/org/cloudfoundry/multiapps/mta/validators/DescriptorValidationRules.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.validators; 2 | 3 | import org.cloudfoundry.multiapps.common.ContentException; 4 | import org.cloudfoundry.multiapps.mta.model.ElementContext; 5 | import org.cloudfoundry.multiapps.mta.model.ParametersContainer; 6 | import org.cloudfoundry.multiapps.mta.model.PropertiesContainer; 7 | 8 | public interface DescriptorValidationRules { 9 | 10 | void postValidate() throws ContentException; 11 | 12 | void validateProperties(ElementContext elementContext, PropertiesContainer propertiesContainer) throws ContentException; 13 | 14 | void validateParameters(ElementContext elementContext, ParametersContainer parametersContainer) throws ContentException; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/java/org/cloudfoundry/multiapps/mta/resolvers/common/AbstractReferencesUnescaperTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers.common; 2 | 3 | import org.cloudfoundry.multiapps.common.test.TestUtil; 4 | import org.cloudfoundry.multiapps.common.test.Tester; 5 | import org.cloudfoundry.multiapps.mta.handlers.DescriptorParserFacade; 6 | import org.cloudfoundry.multiapps.mta.model.DeploymentDescriptor; 7 | import org.cloudfoundry.multiapps.mta.resolvers.ReferencesUnescaper; 8 | 9 | public abstract class AbstractReferencesUnescaperTest { 10 | private ReferencesUnescaper referencesUnescaper = new ReferencesUnescaper(); 11 | 12 | public void executeTestUnescaping(Tester tester, String descriptorResource, Tester.Expectation expectation) { 13 | DeploymentDescriptor descriptor = parseDeploymentDescriptor(descriptorResource); 14 | tester.test(() -> { 15 | referencesUnescaper.unescapeReferences(descriptor); 16 | return descriptor; 17 | }, expectation); 18 | } 19 | 20 | private DeploymentDescriptor parseDeploymentDescriptor(String descriptorResource) { 21 | String yaml = TestUtil.getResourceAsString(descriptorResource, getClass()); 22 | return new DescriptorParserFacade().parseDeploymentDescriptor(yaml); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/java/org/cloudfoundry/multiapps/mta/resolvers/v3/ReferencesUnescaperTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudfoundry.multiapps.mta.resolvers.v3; 2 | 3 | import java.util.stream.Stream; 4 | 5 | import org.cloudfoundry.multiapps.common.test.Tester.Expectation; 6 | import org.junit.jupiter.params.provider.Arguments; 7 | 8 | public class ReferencesUnescaperTest extends org.cloudfoundry.multiapps.mta.resolvers.v2.ReferencesUnescaperTest { 9 | 10 | static Stream unescapingResource() { 11 | return Stream.of(Arguments.of("mtad-with-escaped-placeholders.yaml", 12 | new Expectation(Expectation.Type.JSON, "result-from-unescaping-placeholders.json")), 13 | Arguments.of("mtad-with-escaped-references.yaml", 14 | new Expectation(Expectation.Type.JSON, "result-from-unescaping-references.json"))); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/platform-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY", 3 | "parameters": { 4 | "org.cf.api": "https://api.sap.cf.com" 5 | }, 6 | "module-types": [ 7 | { 8 | "name": "com.sap.static-content" 9 | }, 10 | { 11 | "name": "org.nodejs" 12 | }, 13 | { 14 | "name": "com.sap.java.jee6webprofile" 15 | }, 16 | { 17 | "name": "com.sap.hana.hdi" 18 | } 19 | ], 20 | "resource-types": [ 21 | { 22 | "name": "com.sap.hana.hdi-container", 23 | "parameters": { 24 | "service": "hdi-hana", 25 | "service-plan": "hdi-shared" 26 | } 27 | }, 28 | { 29 | "name": "com.sap.user-provided" 30 | }, 31 | { 32 | "name": "configuration" 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/platform-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY", 3 | "resource-types": [ 4 | { 5 | "name": "com.sap.hana.hdi-container", 6 | "properties": { 7 | 8 | } 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/platform-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY" 3 | } 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-01-v2.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.sample.config-01 3 | extends: com.sap.mta.sample 4 | 5 | target-platforms: [CF-QUAL] 6 | 7 | modules: 8 | - name: web-server 9 | properties: 10 | default-locale: &default-locale zho 11 | 12 | - name: pricing 13 | properties: 14 | default-locale: *default-locale 15 | 16 | - name: pricing-db 17 | properties: 18 | default-locale: *default-locale 19 | 20 | resources: 21 | - name: internal-odata-service 22 | properties: 23 | username: "technicalUser" 24 | password: "shfzj86g" 25 | 26 | - name: competitor-data 27 | properties: 28 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 29 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-01.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-01 3 | extends: com.sap.mta.sample.v2 4 | 5 | target-platforms: [CF-QUAL] 6 | targets: [CF-QUAL] 7 | 8 | modules: 9 | - name: web-server 10 | properties: 11 | default-locale: &default-locale zho 12 | 13 | - name: pricing 14 | properties: 15 | default-locale: *default-locale 16 | provides: 17 | - name: internal-odata 18 | parameters: 19 | name: My Name 20 | requires: 21 | - name: competitor-data 22 | properties: 23 | competitor-name: Something Ltd. 24 | 25 | - name: pricing-db 26 | properties: 27 | default-locale: *default-locale 28 | 29 | resources: 30 | - name: internal-odata-service 31 | properties: 32 | username: "technicalUser" 33 | password: "shfzj86g" 34 | 35 | - name: competitor-data 36 | properties: 37 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 38 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 39 | 40 | parameters: 41 | test3: test3v 42 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-02.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-02 3 | extends: com.sap.mta.sample.v2 4 | 5 | modules: 6 | - name: web-serverx 7 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-03.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-03 3 | extends: com.sap.mta.sample.v2 4 | 5 | targets: [CF-QUAL] 6 | target-platforms: [CF-QUAL] 7 | 8 | modules: 9 | - name: pricing 10 | provides: 11 | - name: internal-odatax 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-04.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-04 3 | extends: com.sap.mta.sample.v2 4 | 5 | target-platforms: [CF-QUAL] 6 | targets: [CF-QUAL] 7 | 8 | resources: 9 | - name: internal-odata-servicex 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-05.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-05 3 | extends: com.sap.mta.sample.v2.config-01 4 | 5 | targets: [CF-PROD] 6 | target-platforms: [CF-PROD] 7 | 8 | parameters: 9 | test2: test2v 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-07.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-07 3 | extends: com.sap.mta.sample.v2 4 | 5 | targets: [CF-QUAL] 6 | target-platforms: [CF-QUAL] 7 | 8 | modules: 9 | - name: web-server 10 | properties: 11 | docu-url: test 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-09.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-05 3 | extends: com.sap.mta.sample.v2 4 | 5 | targets: [CF-QUAL] 6 | target-platforms: [CF-QUAL] 7 | 8 | modules: 9 | - name: pricing 10 | requires: 11 | - name: pricing-dbx 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-10.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-10 3 | extends: com.sap.mta.sample.v2 4 | 5 | targets: [CF-PROD] 6 | target-platforms: [CF-PROD] 7 | 8 | modules: 9 | - name: web-server 10 | parameters: 11 | host: www1 -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/config-11.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.sample.v2.config-11 3 | extends: com.sap.mta.sample.v2 4 | 5 | targets: [CF-PROD] 6 | target-platforms: [CF-PROD] 7 | 8 | parameters: 9 | com.sap.releaseMetadataRefGuid: xxxxxxxx-xxxx-xxxx-xxxx -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/invalid-list.json: -------------------------------------------------------------------------------- 1 | ["Ford", "BMW", "Fiat" -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/list.json: -------------------------------------------------------------------------------- 1 | ["Ford", "BMW", "Fiat"] 2 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v2/merged-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: mta 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | properties: 9 | test_1: "" 10 | test_2: value 11 | test_3: [] 12 | test_4: [a,b] 13 | test_5: {} 14 | parameters: 15 | test_1: "" 16 | test_2: value 17 | test_3: [] 18 | test_4: [a,b] 19 | test_5: {} 20 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-01.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1" 2 | ID: com.sap.mta.sample.v3.config-01 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-QUAL] 6 | 7 | modules: 8 | - name: web-server 9 | properties: 10 | default-locale: &default-locale zho 11 | 12 | - name: pricing 13 | properties: 14 | default-locale: *default-locale 15 | requires: 16 | - name: competitor-data 17 | properties: 18 | competitor-name: Something Ltd. 19 | 20 | - name: pricing-db 21 | properties: 22 | default-locale: *default-locale 23 | 24 | resources: 25 | - name: internal-odata-service 26 | active: false 27 | properties: 28 | username: "technicalUser" 29 | password: "shfzj86g" 30 | 31 | - name: competitor-data 32 | properties: 33 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 34 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 35 | 36 | parameters: 37 | test3: test3v 38 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-02.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3.config-02 3 | extends: com.sap.mta.sample.v3 4 | 5 | modules: 6 | - name: web-serverx 7 | - name: web-server 8 | properties: 9 | test: bar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-03.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3.config-03 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-QUAL] 6 | 7 | modules: 8 | - name: web-server 9 | properties: 10 | test: bug -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-04.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3.config-04 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-QUAL] 6 | 7 | modules: 8 | - name: web-server 9 | parameters: 10 | test: bazz -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-05.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1" 2 | ID: com.sap.mta.sample.v3.config-05 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-PROD] 6 | 7 | modules: 8 | - name: web-server 9 | parameters: 10 | test: bug 11 | 12 | resources: 13 | - name: competitor-data 14 | 15 | - name: plugin-provider 16 | active: false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-06.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3.config-06 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-PROD] 6 | 7 | modules: 8 | - name: web-server 9 | parameters: 10 | test: brum1 -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-07.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1" 2 | ID: com.sap.mta.sample.v3.config-01 3 | extends: com.sap.mta.sample.v3 4 | 5 | targets: [CF-QUAL] 6 | 7 | modules: 8 | - name: web-server 9 | properties: 10 | default-locale: &default-locale zho 11 | 12 | - name: pricing 13 | properties: 14 | default-locale: *default-locale 15 | requires: 16 | - name: competitor-data 17 | properties: 18 | competitor-name: Something Ltd. 19 | 20 | - name: pricing-db 21 | properties: 22 | default-locale: *default-locale 23 | 24 | resources: 25 | - name: internal-odata-service 26 | active: false 27 | properties: 28 | username: "technicalUser" 29 | password: "shfzj86g" 30 | 31 | - name: competitor-data 32 | active: false 33 | properties: 34 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 35 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 36 | 37 | parameters: 38 | test3: test3v 39 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-08.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: modify-hook 3 | extends: com.sap.mta.sample 4 | 5 | modules: 6 | - name: pricing-db 7 | hooks: 8 | - name: test-hook 9 | parameters: 10 | command: 'this is test with extension descriptor' -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-09.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: modify-hook 3 | extends: com.sap.mta.sample 4 | 5 | modules: 6 | - name: pricing-db 7 | hooks: 8 | - name: test-hook 9 | parameters: 10 | command: 'this is test with extension descriptor' 11 | requires: 12 | - name: pricing-db-service 13 | properties: 14 | default-url: "~{url}" 15 | parameters: 16 | execute-url: "~{url}" 17 | 18 | resources: 19 | - name: pricing-db-service 20 | properties: 21 | url: example.com -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/config-10.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample.ext 3 | extends: com.sap.mta.sample 4 | 5 | resources: 6 | - name: pricing-db-service 7 | optional: true 8 | 9 | - name: selling-db-service 10 | optional: false 11 | 12 | - name: providing-db-service 13 | optional: true -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/merged-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3 3 | version: 1.2.1-beta+20150403144937853 4 | 5 | modules: 6 | - name: web-server 7 | type: com.sap.static-content 8 | path: "web-server/" 9 | parameters: 10 | test: 11 | parameters-metadata: 12 | test: 13 | overwritable: true 14 | optional: false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/merged-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: mta 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | properties: 9 | test_1: "" 10 | test_2: value 11 | test_3: [] 12 | test_4: [a,b] 13 | test_5: {} 14 | properties-metadata: 15 | test_1: 16 | optional: false 17 | test_3: 18 | optional: false 19 | test_5: 20 | optional: false 21 | parameters: 22 | test_1: "" 23 | test_2: value 24 | test_3: [] 25 | test_4: [a,b] 26 | test_5: {} 27 | parameters-metadata: 28 | test_1: 29 | optional: false 30 | test_3: 31 | optional: false 32 | test_5: 33 | optional: false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/mtad-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3 3 | version: 1.2.1-beta+20150403144937853 4 | 5 | modules: 6 | - name: web-server 7 | type: com.sap.static-content 8 | path: "web-server/" 9 | parameters: 10 | test: baz 11 | parameters-metadata: 12 | test: 13 | overwritable: false 14 | optional: false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/mtad-04.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: com.sap.mta.sample.v3 3 | version: 1.2.1-beta+20150403144937853 4 | 5 | modules: 6 | - name: web-server 7 | type: com.sap.static-content 8 | path: "web-server/" 9 | parameters: 10 | test: brum 11 | parameters-metadata: 12 | test: 13 | overwritable: false 14 | optional: false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/mtad-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Sunny" 6 | copyright: "Sunny Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | requires: 12 | - name: pricing-db-service 13 | hooks: 14 | - name: test-hook 15 | type: tasks 16 | phases: 17 | - application.before-stop 18 | parameters: 19 | task: test-task 20 | command: 'this is test' 21 | requires: 22 | - name: pricing-db-service 23 | 24 | resources: 25 | - name: pricing-db-service 26 | type: com.sap.hana.hdi-container 27 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/mta/sample/v3/mtad-07.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Sunny" 6 | copyright: "Sunny Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | requires: 12 | - name: pricing-db-service 13 | 14 | resources: 15 | - name: pricing-db-service 16 | type: com.sap.hana.hdi-container 17 | 18 | - name: selling-db-service 19 | type: com.sap.hana.hdi-container 20 | optional: true 21 | 22 | - name: providing-db-service 23 | type: com.sap.hana.hdi-container 24 | optional: false 25 | 26 | - name: audit-db-service 27 | type: com.sap.hana.hdi-container 28 | optional: true -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-01.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | }, 13 | { 14 | "foo-test-5": "foo-test-5-value" 15 | }, 16 | {} 17 | ], 18 | [ 19 | { 20 | "bar-test-3": "bar-test-3-value" 21 | }, 22 | {}, 23 | {} 24 | ], 25 | [ 26 | { 27 | "qux-test-1": "qux-test-1-value" 28 | }, 29 | { 30 | "quux-test-1": "quux-test-1-value" 31 | }, 32 | {}, 33 | { 34 | "baz-test-5": "baz-test-5-value", 35 | "baz-test-6": "baz-test-6-value" 36 | }, 37 | {} 38 | ] 39 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-02.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | }, 13 | {} 14 | ], 15 | [ 16 | { 17 | "bar-test-3": "bar-test-3-value" 18 | }, 19 | {} 20 | ], 21 | [ 22 | { 23 | "qux-test-1": "qux-test-1-value" 24 | }, 25 | { 26 | "quux-test-1": "quux-test-1-value" 27 | }, 28 | {}, 29 | {} 30 | ] 31 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-03.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | }, 13 | {} 14 | ], 15 | [ 16 | { 17 | "bar-test-3": "bar-test-3-value" 18 | }, 19 | {} 20 | ], 21 | [ 22 | { 23 | "qux-test-1": "qux-test-1-value" 24 | }, 25 | { 26 | "quux-test-1": "quux-test-1-value" 27 | }, 28 | {}, 29 | { 30 | "baz-test-5": "baz-test-5-value", 31 | "baz-test-6": "baz-test-6-value" 32 | }, 33 | {} 34 | ] 35 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-04.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | }, 13 | { 14 | "foo-test-5": "foo-test-5-value" 15 | } 16 | ], 17 | [ 18 | { 19 | "bar-test-3": "bar-test-3-value" 20 | }, 21 | {} 22 | ], 23 | [ 24 | { 25 | "qux-test-1": "qux-test-1-value" 26 | }, 27 | { 28 | "quux-test-1": "quux-test-1-value" 29 | }, 30 | {}, 31 | { 32 | "baz-test-5": "baz-test-5-value", 33 | "baz-test-6": "baz-test-6-value" 34 | } 35 | ] 36 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-05.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | } 13 | ], 14 | [ 15 | { 16 | "bar-test-3": "bar-test-3-value" 17 | } 18 | ], 19 | [ 20 | { 21 | "qux-test-1": "qux-test-1-value" 22 | }, 23 | { 24 | "quux-test-1": "quux-test-1-value" 25 | }, 26 | {} 27 | ] 28 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-06.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "bar-test-1": "bar-test-1-value" 5 | }, 6 | { 7 | "baz-test-1": "baz-test-1-value" 8 | }, 9 | { 10 | "foo-test-1": "foo-test-1-value", 11 | "foo-test-2": "foo-test-2-value" 12 | } 13 | ], 14 | [ 15 | { 16 | "bar-test-3": "bar-test-3-value" 17 | } 18 | ], 19 | [ 20 | { 21 | "qux-test-1": "qux-test-1-value" 22 | }, 23 | { 24 | "quux-test-1": "quux-test-1-value" 25 | }, 26 | {}, 27 | { 28 | "baz-test-5": "baz-test-5-value", 29 | "baz-test-6": "baz-test-6-value" 30 | } 31 | ] 32 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-01.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | }, 7 | { 8 | "foo-test-5": "foo-test-5-value" 9 | }, 10 | {} 11 | ], 12 | [ 13 | { 14 | "bar-test-3": "bar-test-3-value" 15 | }, 16 | {}, 17 | {} 18 | ], 19 | [ 20 | {}, 21 | { 22 | "baz-test-5": "baz-test-5-value", 23 | "baz-test-6": "baz-test-6-value" 24 | }, 25 | {} 26 | ] 27 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-02.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | }, 7 | {} 8 | ], 9 | [ 10 | { 11 | "bar-test-3": "bar-test-3-value" 12 | }, 13 | {} 14 | ], 15 | [ 16 | {}, 17 | {} 18 | ] 19 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-03.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | }, 7 | {} 8 | ], 9 | [ 10 | { 11 | "bar-test-3": "bar-test-3-value" 12 | }, 13 | {} 14 | ], 15 | [ 16 | {}, 17 | { 18 | "baz-test-5": "baz-test-5-value", 19 | "baz-test-6": "baz-test-6-value" 20 | }, 21 | {} 22 | ] 23 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-04.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | }, 7 | { 8 | "foo-test-5": "foo-test-5-value" 9 | } 10 | ], 11 | [ 12 | { 13 | "bar-test-3": "bar-test-3-value" 14 | }, 15 | {} 16 | ], 17 | [ 18 | {}, 19 | { 20 | "baz-test-5": "baz-test-5-value", 21 | "baz-test-6": "baz-test-6-value" 22 | } 23 | ] 24 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-05.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | } 7 | ], 8 | [ 9 | { 10 | "bar-test-3": "bar-test-3-value" 11 | } 12 | ], 13 | [ 14 | {} 15 | ] 16 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/module-chain-without-dependencies-06.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "foo-test-1": "foo-test-1-value", 5 | "foo-test-2": "foo-test-2-value" 6 | } 7 | ], 8 | [ 9 | { 10 | "bar-test-3": "bar-test-3-value" 11 | } 12 | ], 13 | [ 14 | {}, 15 | { 16 | "baz-test-5": "baz-test-5-value", 17 | "baz-test-6": "baz-test-6-value" 18 | } 19 | ] 20 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/mtad-01.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | properties: 11 | bar-test-1: bar-test-1-value 12 | - name: baz 13 | properties: 14 | baz-test-1: baz-test-1-value 15 | properties: 16 | foo-test-1: foo-test-1-value 17 | foo-test-2: foo-test-2-value 18 | 19 | - name: bar 20 | type: bar 21 | provides: 22 | - name: bar 23 | properties: 24 | bar-test-1: bar-test-1-value 25 | bar-test-2: bar-test-2-value 26 | properties: 27 | bar-test-3: bar-test-3-value 28 | 29 | - name: baz 30 | type: baz 31 | requires: 32 | - name: qux 33 | properties: 34 | qux-test-1: qux-test-1-value 35 | - name: quux 36 | properties: 37 | quux-test-1: quux-test-1-value 38 | provides: 39 | - name: baz 40 | properties: 41 | baz-test-1: baz-test-1-value 42 | 43 | resources: 44 | - name: qux 45 | properties: 46 | qux-test-1: qux-test-1-value 47 | qux-test-2: qux-test-2-value 48 | 49 | - name: quux 50 | type: quux 51 | properties: 52 | quux-test-1: quux-test-1-value 53 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/mtad-02.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | parameters: 11 | bar-test-1: bar-test-1-value 12 | - name: baz 13 | parameters: 14 | baz-test-1: baz-test-1-value 15 | parameters: 16 | foo-test-1: foo-test-1-value 17 | foo-test-2: foo-test-2-value 18 | 19 | - name: bar 20 | type: bar 21 | provides: 22 | - name: bar 23 | properties: 24 | bar-test-1: bar-test-1-value 25 | bar-test-2: bar-test-2-value 26 | parameters: 27 | bar-test-3: bar-test-3-value 28 | 29 | - name: baz 30 | type: baz 31 | requires: 32 | - name: qux 33 | parameters: 34 | qux-test-1: qux-test-1-value 35 | - name: quux 36 | parameters: 37 | quux-test-1: quux-test-1-value 38 | provides: 39 | - name: baz 40 | properties: 41 | baz-test-1: baz-test-1-value 42 | 43 | resources: 44 | - name: qux 45 | parameters: 46 | qux-test-1: qux-test-1-value 47 | qux-test-2: qux-test-2-value 48 | 49 | - name: quux 50 | type: quux 51 | parameters: 52 | quux-test-1: quux-test-1-value 53 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/platform-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF-TEST", 3 | "module-types": [ 4 | { 5 | "name": "foo", 6 | "properties": { 7 | "foo-test-5": "foo-test-5-value" 8 | } 9 | }, 10 | { 11 | "name": "bar", 12 | "properties": { 13 | 14 | } 15 | }, 16 | { 17 | "name": "baz", 18 | "properties": { 19 | "baz-test-5": "baz-test-5-value", 20 | "baz-test-6": "baz-test-6-value" 21 | } 22 | } 23 | ], 24 | "resource-types": [ 25 | { 26 | "name": "quux", 27 | "parameters": { 28 | "quux-test-2": "quux-test-2-value" 29 | } 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/platform-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF-TEST" 3 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/platform-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF-TEST", 3 | "module-types": [ 4 | { 5 | "name": "baz", 6 | "properties": { 7 | "baz-test-5": "baz-test-5-value", 8 | "baz-test-6": "baz-test-6-value" 9 | } 10 | } 11 | ], 12 | "resource-types": [ 13 | { 14 | "name": "quux", 15 | "parameters": { 16 | "quux-test-2": "quux-test-2-value" 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/platform-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF-TEST", 3 | "module-types": [ 4 | { 5 | "name": "foo", 6 | "parameters": { 7 | "foo-test-5": "foo-test-5-value" 8 | } 9 | }, 10 | { 11 | "name": "bar", 12 | "parameters": { 13 | 14 | } 15 | }, 16 | { 17 | "name": "baz", 18 | "parameters": { 19 | "baz-test-5": "baz-test-5-value", 20 | "baz-test-6": "baz-test-6-value" 21 | } 22 | } 23 | ], 24 | "resource-types": [ 25 | { 26 | "name": "quux", 27 | "parameters": { 28 | "quux-test-2": "quux-test-2-value" 29 | } 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/platform-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF-TEST", 3 | "module-types": [ 4 | { 5 | "name": "baz", 6 | "parameters": { 7 | "baz-test-5": "baz-test-5-value", 8 | "baz-test-6": "baz-test-6-value" 9 | } 10 | } 11 | ], 12 | "resource-types": [ 13 | { 14 | "name": "quux", 15 | "parameters": { 16 | "quux-test-2": "quux-test-2-value" 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-01.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | } 7 | ], 8 | [ 9 | { 10 | "quux-test-1": "quux-test-1-value" 11 | } 12 | ] 13 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-02.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | }, 7 | {} 8 | ], 9 | [ 10 | { 11 | "quux-test-1": "quux-test-1-value" 12 | }, 13 | {}, 14 | {} 15 | ] 16 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-03.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | } 7 | ], 8 | [ 9 | { 10 | "quux-test-1": "quux-test-1-value" 11 | } 12 | ] 13 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-04.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | }, 7 | {} 8 | ], 9 | [ 10 | { 11 | "quux-test-1": "quux-test-1-value" 12 | }, 13 | {}, 14 | { 15 | "quux-test-2": "quux-test-2-value" 16 | }, 17 | {} 18 | ] 19 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-05.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | }, 7 | {} 8 | ], 9 | [ 10 | { 11 | "quux-test-1": "quux-test-1-value" 12 | }, 13 | {}, 14 | { 15 | "quux-test-2": "quux-test-2-value" 16 | }, 17 | {} 18 | ] 19 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-chain-06.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "qux-test-1": "qux-test-1-value", 5 | "qux-test-2": "qux-test-2-value" 6 | } 7 | ], 8 | [ 9 | { 10 | "quux-test-1": "quux-test-1-value" 11 | } 12 | ] 13 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-type-chain-01.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | {} 4 | ], 5 | [ 6 | { 7 | "quux-test-2": "quux-test-2-value" 8 | }, 9 | {} 10 | ] 11 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-type-chain-02.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | {} 4 | ], 5 | [ 6 | {} 7 | ] 8 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/builders/v2/resource-type-chain-03.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | {} 4 | ], 5 | [ 6 | { 7 | "quux-test-2": "quux-test-2-value" 8 | }, 9 | {} 10 | ] 11 | ] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/com.sap.mta.sample-1.2.1-beta-flat.mtar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/com.sap.mta.sample-1.2.1-beta-flat.mtar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/com.sap.mta.sample-1.2.1-beta.mtar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/com.sap.mta.sample-1.2.1-beta.mtar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-05.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 1.0.0 2 | ID: com.sap.mta.test.config-05 3 | extends: com.sap.mta.test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-06.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 1.0.0 2 | ID: com.sap.mta.test.config-06 3 | extends: com.sap.mta.test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-07.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.test.config-07 3 | extends: com.sap.mta.test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-08.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.1.0" 2 | ID: com.sap.mta.test.config-08 3 | extends: com.sap.mta.test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-invalid-resources.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.3.0 2 | ID: my-mta-dev 3 | extends: my-mta 4 | version: 1.0.0 5 | 6 | resources: 7 | - name: my-service 8 | parameters: 9 | service-plan: "lite" 10 | requires: 11 | - my-ups # invalid schema 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/config-valid.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 1.0.0 2 | ID: com.sap.mta.test.config-05 3 | extends: com.sap.mta.test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/empty.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/empty.yaml -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/large.mta.descriptor.mtar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/large.mta.descriptor.mtar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/mtad-07.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "1.0.0" 2 | ID: com.sap.mta.test 3 | version: 13.1.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/mtad-08.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.test 3 | version: 13.1.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/mtad-09.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "9.0.0" 2 | ID: com.sap.mta.test 3 | version: 13.1.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/mtad-missing-schema.yaml: -------------------------------------------------------------------------------- 1 | ID: com.sap.mta.test 2 | version: 1.0.0 3 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/mtad-valid.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: anatz 7 | type: java.tomcat 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/platform-01.json.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY", 3 | "moduleTypes": [ 4 | { 5 | "name": "com.sap.static-content", 6 | "properties": {}, 7 | "parameters": {} 8 | }, 9 | { 10 | "name": "org.nodejs", 11 | "properties": {}, 12 | "parameters": {} 13 | }, 14 | { 15 | "name": "com.sap.java.jee6webprofile", 16 | "properties": {}, 17 | "parameters": {} 18 | }, 19 | { 20 | "name": "com.sap.hana.hdi", 21 | "properties": {}, 22 | "parameters": {} 23 | } 24 | ], 25 | "resourceTypes": [ 26 | { 27 | "name": "com.sap.hana.hdi-container", 28 | "parameters": { 29 | "service": "hdi-hana", 30 | "service-plan": "hdi-shared" 31 | } 32 | }, 33 | { 34 | "name": "com.sap.user-provided", 35 | "parameters": {} 36 | }, 37 | { 38 | "name": "configuration", 39 | "parameters": {} 40 | } 41 | ], 42 | "parameters": { 43 | "org.cf.api": "https://api.sap.cf.com" 44 | } 45 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/platform-02.json.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY", 3 | "moduleTypes": [], 4 | "resourceTypes": [ 5 | { 6 | "name": "com.sap.hana.hdi-container", 7 | "parameters": {} 8 | } 9 | ], 10 | "parameters": {} 11 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/platform-03.json.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CLOUD-FOUNDRY", 3 | "moduleTypes": [], 4 | "resourceTypes": [], 5 | "parameters": {} 6 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-01.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test.config-01 3 | extends: com.sap.mta.test 4 | 5 | modules: 6 | - name: foo 7 | 8 | - name: foo 9 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-02.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test.config-02 3 | extends: com.sap.mta.test 4 | 5 | modules: 6 | - name: foo 7 | provides: 8 | - name: foo 9 | - name: bar 10 | 11 | - name: bar 12 | provides: 13 | - name: bar 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-03.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test.config-01 3 | extends: com.sap.mta.test 4 | 5 | modules: 6 | - name: foo 7 | - name: bar 8 | requires: 9 | - name: baz 10 | - name: baz 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-04.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test.config-01 3 | extends: com.sap.mta.test 4 | 5 | modules: 6 | - name: foo 7 | - name: bar 8 | provides: 9 | - name: bar 10 | - name: bar 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-with-partial-schema-version-major-quoted.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2" 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-with-partial-schema-version-major.minor-quoted.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0" 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-with-partial-schema-version-major.minor.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/config-with-partial-schema-version-major.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/merged-01.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.v2.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | parameters: 9 | test-1: 10 | provides: 11 | - name: bar 12 | 13 | - name: baz 14 | type: bar 15 | parameters: 16 | test-2: test-value-2 17 | test-3: 18 | requires: 19 | - name: bar 20 | parameters: 21 | test-4: test-value-4 22 | test-5: 23 | 24 | resources: 25 | - name: caz 26 | parameters: 27 | test-6: 28 | 29 | parameters: 30 | test-7: -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-01.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | 9 | - name: foo 10 | type: foo 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-02.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | provides: 9 | - name: foo 10 | - name: bar 11 | 12 | - name: bar 13 | type: bar 14 | provides: 15 | - name: bar 16 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: bar 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-04.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | provides: 9 | - name: foo 10 | - name: foo 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-05.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | 16 | - name: baz 17 | type: baz 18 | requires: 19 | - name: foo 20 | 21 | - name: qux 22 | type: qux 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | 11 | - name: bar 12 | type: bar 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-07.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | 9 | - name: bar 10 | type: bar 11 | requires: 12 | - name: foo 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-08.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: db 7 | type: com.sap.xs.hdi 8 | 9 | - name: service 10 | type: javascript.nodejs 11 | requires: 12 | - name: db 13 | 14 | - name: broker 15 | type: javascript.nodejs 16 | requires: 17 | - name: dashboard 18 | - name: db 19 | - name: service 20 | 21 | - name: backend 22 | type: javascript.nodejs 23 | 24 | - name: dashboard 25 | type: javascript.nodejs 26 | requires: 27 | - name: service 28 | - name: db 29 | - name: backend 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-09.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: soft 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: hard 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-10.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: hard 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: hard 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-11.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | parameters: 11 | dependency-type: hard 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: baz 17 | parameters: 18 | dependency-type: soft 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: hard 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-13.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: soft 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: soft 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-14.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | parameters: 11 | dependency-type: soft 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: baz 17 | parameters: 18 | dependency-type: soft 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: soft 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-15.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | 18 | - name: baz 19 | type: baz 20 | requires: 21 | - name: foo 22 | 23 | - name: qux 24 | type: qux 25 | requires: 26 | - name: foo 27 | 28 | - name: quux 29 | type: quux 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-16.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | parameters: 18 | dependency-type: hard 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: hard 26 | 27 | - name: qux 28 | type: qux 29 | requires: 30 | - name: foo 31 | 32 | - name: quux 33 | type: quux 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-17.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | parameters: 18 | dependency-type: hard 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | 25 | - name: qux 26 | type: qux 27 | requires: 28 | - name: foo 29 | 30 | - name: quux 31 | type: quux 32 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-18.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | parameters: 12 | dependency-type: hard 13 | 14 | - name: bar 15 | type: bar 16 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-19.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | resources: 6 | - name: foo 7 | type: bar 8 | modules: 9 | - name: foo 10 | type: foo 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-20.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | resources: 6 | - name: bar 7 | type: bar 8 | modules: 9 | - name: foo 10 | type: foo 11 | provides: 12 | - name: bar 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-21.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | provides: 9 | - name: foo 10 | - name: bar 11 | - name: bar 12 | type: bar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-with-partial-schema-version-major-quoted.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2" 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-with-partial-schema-version-major.minor-quoted.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0" 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-with-partial-schema-version-major.minor.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/mtad-with-partial-schema-version-major.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/parsed-config-with-partial-schema-version.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "mtaext-partial-schema-version-test", 4 | "parentId": "partial-schema-version-test", 5 | "modules": [], 6 | "resources": [], 7 | "parameters": {}, 8 | "majorSchemaVersion": 2 9 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v2/parsed-mtad-with-partial-schema-version.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "partial-schema-version-test", 4 | "version": "1.0.0", 5 | "modules": [], 6 | "resources": [], 7 | "parameters": {}, 8 | "parametersMetadata": { 9 | "metadata": {} 10 | }, 11 | "majorSchemaVersion": 2 12 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-00.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample.config-00 3 | extends: com.sap.mta.sample 4 | description: "Extension descriptor used for testing purposes" 5 | provider: "Sunny" 6 | 7 | targets: [CF-QUAL] 8 | 9 | modules: 10 | - name: web-server 11 | properties: 12 | default-locale: &default-locale zho 13 | provides: 14 | - name: web-server 15 | properties: 16 | url: ${default-url} 17 | 18 | - name: pricing 19 | properties: 20 | default-locale: *default-locale 21 | requires: 22 | - name: competitor-data 23 | properties: 24 | competitor-name: Something Ltd. 25 | parameters: 26 | app-name: ~{application-key} 27 | 28 | - name: pricing-db 29 | properties: 30 | default-locale: *default-locale 31 | parameters: 32 | no-route: true 33 | 34 | resources: 35 | - name: internal-odata-service 36 | parameters: 37 | config: 38 | username: "technicalUser" 39 | password: "shfzj86g" 40 | 41 | - name: competitor-data 42 | properties: 43 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 44 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 45 | 46 | parameters: 47 | test3: test3v 48 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-01.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.1.0 2 | ID: com.sap.mta.sample.config-00 3 | extends: com.sap.mta.sample 4 | description: "Extension descriptor used for testing purposes" 5 | provider: "Sunny" 6 | 7 | targets: [CF-QUAL] 8 | 9 | modules: 10 | - name: web-server 11 | properties: 12 | default-locale: &default-locale zho 13 | provides: 14 | - name: web-server 15 | properties: 16 | url: ${default-url} 17 | 18 | - name: pricing 19 | properties: 20 | default-locale: *default-locale 21 | requires: 22 | - name: competitor-data 23 | properties: 24 | competitor-name: Something Ltd. 25 | parameters: 26 | app-name: ~{application-key} 27 | 28 | - name: pricing-db 29 | properties: 30 | default-locale: *default-locale 31 | parameters: 32 | no-route: true 33 | 34 | resources: 35 | - name: internal-odata-service 36 | parameters: 37 | config: 38 | username: "technicalUser" 39 | password: "shfzj86g" 40 | 41 | - name: competitor-data 42 | properties: 43 | application-key: "25892e17-80f6-415f-9c65-7395632f0223" 44 | secret-key: "cd171f7c-560d-4a62-8d65-16b87419a58c" 45 | 46 | parameters: 47 | test3: test3v 48 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-with-partial-schema-version-major-quoted.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-with-partial-schema-version-major.minor-quoted.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: "3.0" 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-with-partial-schema-version-major.minor.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/config-with-partial-schema-version-major.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: mtaext-partial-schema-version-test 3 | extends: partial-schema-version-test 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-00-processed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: bar 7 | type: bar 8 | resources: 9 | - name: serviceA 10 | type: org.cloudfoundry.managed-service 11 | parameters: 12 | service: auditlog 13 | service-plan: standard 14 | processed-after: [serviceB, serviceC] 15 | - name: serviceB 16 | type: org.cloudfoundry.managed-service 17 | parameters: 18 | service: auditlog 19 | service-plan: standard 20 | processed-after: [serviceD] 21 | - name: serviceC 22 | type: org.cloudfoundry.managed-service 23 | parameters: 24 | service: auditlog 25 | service-plan: standard 26 | processed-after: [serviceD] 27 | - name: serviceD 28 | type: org.cloudfoundry.managed-service 29 | parameters: 30 | service: auditlog 31 | service-plan: standard 32 | processed-after: [] 33 | 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-01-processed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: bar 7 | type: bar 8 | resources: 9 | - name: serviceA 10 | type: org.cloudfoundry.managed-service 11 | parameters: 12 | service: auditlog 13 | service-plan: standard 14 | processed-after: [serviceB, serviceC, serviceD] 15 | - name: serviceB 16 | type: org.cloudfoundry.managed-service 17 | parameters: 18 | service: auditlog 19 | service-plan: standard 20 | processed-after: [serviceD] 21 | - name: serviceC 22 | type: org.cloudfoundry.managed-service 23 | parameters: 24 | service: auditlog 25 | service-plan: standard 26 | processed-after: [] 27 | - name: serviceD 28 | type: org.cloudfoundry.managed-service 29 | parameters: 30 | service: auditlog 31 | service-plan: standard 32 | processed-after: [serviceC] -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-03-processed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: multiple-anatz 3 | version: 3.0.0 4 | 5 | modules: 6 | - name: multiple-anatz 7 | type: staticfile 8 | path: ../buildresults.zip 9 | resources: 10 | - name: serviceA 11 | type: org.cloudfoundry.managed-service 12 | parameters: 13 | service: auditlog 14 | service-plan: standard 15 | processed-after: [serviceB, serviceC] 16 | - name: serviceB 17 | type: org.cloudfoundry.managed-service 18 | parameters: 19 | service: auditlog 20 | service-plan: standard 21 | processed-after: [serviceD, serviceC] 22 | - name: serviceC 23 | type: org.cloudfoundry.managed-service 24 | parameters: 25 | service: auditlog 26 | service-plan: standard 27 | processed-after: [] 28 | - name: serviceD 29 | type: org.cloudfoundry.managed-service 30 | parameters: 31 | service: auditlog 32 | service-plan: standard 33 | processed-after: [] 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-04-processed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: multiple-anatz 3 | version: 3.0.0 4 | 5 | modules: 6 | - name: multiple-anatz 7 | type: staticfile 8 | path: ../buildresults.zip 9 | resources: 10 | - name: serviceA 11 | type: org.cloudfoundry.managed-service 12 | parameters: 13 | service: auditlog 14 | service-plan: standard 15 | - name: serviceB 16 | type: org.cloudfoundry.managed-service 17 | parameters: 18 | service: auditlog 19 | service-plan: standard 20 | - name: serviceC 21 | type: org.cloudfoundry.managed-service 22 | parameters: 23 | service: auditlog 24 | service-plan: standard 25 | processed-after: [] 26 | - name: serviceD 27 | type: org.cloudfoundry.managed-service 28 | parameters: 29 | service: auditlog 30 | service-plan: standard 31 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-05-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | deployed-after: [foo, bar] 11 | 12 | - name: bar 13 | type: bar 14 | 15 | - name: baz 16 | type: baz 17 | deployed-after: [foo] 18 | 19 | - name: qux 20 | type: qux 21 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-05-processed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: multiple-anatz 3 | version: 3.0.0 4 | 5 | modules: 6 | - name: multiple-anatz 7 | type: staticfile 8 | path: ../buildresults.zip 9 | resources: 10 | - name: serviceA 11 | type: org.cloudfoundry.managed-service 12 | parameters: 13 | service: auditlog 14 | service-plan: standard 15 | processed-after: [serviceB] 16 | - name: serviceB 17 | type: org.cloudfoundry.managed-service 18 | parameters: 19 | service: auditlog 20 | service-plan: standard 21 | processed-after: [serviceC,serviceD] 22 | - name: serviceC 23 | type: org.cloudfoundry.managed-service 24 | parameters: 25 | service: auditlog 26 | service-plan: standard 27 | processed-after: [serviceD] 28 | - name: serviceD 29 | type: org.cloudfoundry.managed-service 30 | parameters: 31 | service: auditlog 32 | service-plan: standard 33 | processed-after: [] 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-05.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | 16 | - name: baz 17 | type: baz 18 | requires: 19 | - name: foo 20 | 21 | - name: qux 22 | type: qux 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-06-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | deployed-after: [bar] 11 | 12 | - name: bar 13 | type: bar 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | 11 | - name: bar 12 | type: bar 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-07-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | 11 | - name: bar 12 | type: bar 13 | deployed-after: [foo] 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-07.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | 9 | - name: bar 10 | type: bar 11 | requires: 12 | - name: foo 13 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-08-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: db 9 | type: com.sap.xs.hdi 10 | 11 | - name: service 12 | type: javascript.nodejs 13 | deployed-after: [db] 14 | 15 | - name: broker 16 | type: javascript.nodejs 17 | deployed-after: [dashboard, db, service] 18 | 19 | - name: backend 20 | type: javascript.nodejs 21 | 22 | - name: dashboard 23 | type: javascript.nodejs 24 | deployed-after: [service, db, backend] 25 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-08.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: db 7 | type: com.sap.xs.hdi 8 | 9 | - name: service 10 | type: javascript.nodejs 11 | requires: 12 | - name: db 13 | 14 | - name: broker 15 | type: javascript.nodejs 16 | requires: 17 | - name: dashboard 18 | - name: db 19 | - name: service 20 | 21 | - name: backend 22 | type: javascript.nodejs 23 | 24 | - name: dashboard 25 | type: javascript.nodejs 26 | requires: 27 | - name: service 28 | - name: db 29 | - name: backend 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-09.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: soft 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: hard 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-10-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | deployed-after: [bar, baz] 11 | 12 | - name: bar 13 | type: bar 14 | 15 | - name: baz 16 | type: baz 17 | deployed-after: [foo] 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-10.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: hard 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: hard 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-11-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | deployed-after: [bar] 11 | 12 | - name: bar 13 | type: bar 14 | deployed-after: [baz] 15 | 16 | - name: baz 17 | type: baz 18 | deployed-after: [foo] 19 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-11.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | parameters: 11 | dependency-type: hard 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: baz 17 | parameters: 18 | dependency-type: soft 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: hard 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-13.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | - name: baz 11 | parameters: 12 | dependency-type: soft 13 | 14 | - name: bar 15 | type: bar 16 | 17 | - name: baz 18 | type: baz 19 | requires: 20 | - name: foo 21 | parameters: 22 | dependency-type: soft 23 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-14.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | parameters: 11 | dependency-type: soft 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: baz 17 | parameters: 18 | dependency-type: soft 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: soft 26 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-15.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | 18 | - name: baz 19 | type: baz 20 | requires: 21 | - name: foo 22 | 23 | - name: qux 24 | type: qux 25 | requires: 26 | - name: foo 27 | 28 | - name: quux 29 | type: quux 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-16.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | parameters: 18 | dependency-type: hard 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | parameters: 25 | dependency-type: hard 26 | 27 | - name: qux 28 | type: qux 29 | requires: 30 | - name: foo 31 | 32 | - name: quux 33 | type: quux 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-17.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | - name: baz 12 | 13 | - name: bar 14 | type: bar 15 | requires: 16 | - name: qux 17 | parameters: 18 | dependency-type: hard 19 | 20 | - name: baz 21 | type: baz 22 | requires: 23 | - name: foo 24 | 25 | - name: qux 26 | type: qux 27 | requires: 28 | - name: foo 29 | 30 | - name: quux 31 | type: quux 32 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-18-deployed-after-with-parallel-deployments.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | parameters: 5 | parallel-deployments: true 6 | 7 | modules: 8 | - name: foo 9 | type: foo 10 | deployed-after: [foo, bar] 11 | 12 | - name: bar 13 | type: bar 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-18.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: foo 10 | - name: bar 11 | parameters: 12 | dependency-type: hard 13 | 14 | - name: bar 15 | type: bar 16 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-deployed-after-transitive-relations.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | 9 | - name: bar 10 | type: bar 11 | deployed-after: 12 | - qux 13 | 14 | - name: baz 15 | type: baz 16 | requires: 17 | - name: foo 18 | 19 | - name: qux 20 | type: qux 21 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-deployed-after.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | deployed-after: [foo, bar, baz] 9 | 10 | - name: bar 11 | type: bar 12 | deployed-after: [baz] 13 | 14 | - name: baz 15 | type: baz 16 | requires: 17 | - name: foo 18 | 19 | - name: qux 20 | type: qux 21 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-module-hooks-with-correct-data.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Sunny" 6 | copyright: "Sunny Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | requires: 12 | - name: pricing-db-service 13 | hooks: 14 | - name: test-hook 15 | type: tasks 16 | phases: 17 | - application.before-stop 18 | parameters: 19 | task: test-task 20 | command: 'this is test' 21 | requires: 22 | - name: plugin-provider 23 | 24 | resources: 25 | - name: pricing-db-service 26 | type: com.sap.hana.hdi-container 27 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-module-hooks-with-more-hook-phases.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Sunny" 6 | copyright: "Sunny Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | requires: 12 | - name: pricing-db-service 13 | hooks: 14 | - name: test-hook 15 | type: tasks 16 | phases: 17 | - application.before-stop 18 | - another.test-hook-phase 19 | - foo 20 | - a 21 | parameters: 22 | task: test-task 23 | command: 'this is test' 24 | requires: 25 | - name: plugin-provider 26 | 27 | resources: 28 | - name: pricing-db-service 29 | type: com.sap.hana.hdi-container -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-module-hooks-with-two-hooks.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Encho" 6 | copyright: "Encho Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | hooks: 12 | - name: test-hook 13 | type: tasks 14 | phases: 15 | - application.before-stop 16 | - another.test-hook-phase 17 | - foo 18 | - a 19 | parameters: 20 | task: test-task 21 | command: 'this is test' 22 | requires: 23 | - name: plugin-provider 24 | - name: foo 25 | type: bar 26 | phases: 27 | - a 28 | parameters: 29 | qux: quz 30 | 31 | resources: 32 | - name: plugin-provider 33 | type: configuration 34 | parameters: 35 | filter: 36 | type: com.acme.plugin 37 | properties: 38 | plugin-name: ${name} 39 | plugin-url: ${url}/sources 40 | 41 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-module-hooks-without-type.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: com.sap.mta.sample 3 | version: 1.2.1-beta+20150403144937853 4 | description: "Deployment descriptor used for testing purposes" 5 | provider: "Encho" 6 | copyright: "Encho Ltd" 7 | 8 | modules: 9 | - name: pricing-db 10 | type: com.sap.hana.hdi 11 | hooks: 12 | - name: test-hook 13 | parameters: 14 | task: test-task 15 | command: 'this is test' 16 | requires: 17 | - name: plugin-provider 18 | 19 | resources: 20 | - name: plugin-provider 21 | type: configuration 22 | parameters: 23 | filter: 24 | type: com.acme.plugin 25 | properties: 26 | plugin-name: ${name} 27 | plugin-url: ${url}/sources 28 | 29 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-partial-schema-version-major-quoted.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3" 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-partial-schema-version-major.minor-quoted.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.0" 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-partial-schema-version-major.minor.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/mtad-with-partial-schema-version-major.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: partial-schema-version-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/parsed-config-with-partial-schema-version.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "3.0.0", 3 | "id": "mtaext-partial-schema-version-test", 4 | "parentId": "partial-schema-version-test", 5 | "modules": [], 6 | "resources": [], 7 | "parameters": {}, 8 | "majorSchemaVersion": 3 9 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/parsed-mtad-with-partial-schema-version.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "3.0.0", 3 | "id": "partial-schema-version-test", 4 | "version": "1.0.0", 5 | "modules": [], 6 | "resources": [], 7 | "parameters": {}, 8 | "parametersMetadata": { 9 | "metadata": {} 10 | }, 11 | "majorSchemaVersion": 3 12 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/parsed-platform-00.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleTypes3": [ 3 | { 4 | "parameters": { 5 | "memory": "512M" 6 | }, 7 | "name": "java.tomcat", 8 | "deployer": "deploy-service", 9 | "properties": { 10 | "JAVA_CONFIG": "[]", 11 | "TARGET_RUNTIME": "TOMCAT" 12 | } 13 | }, 14 | { 15 | "parameters": { 16 | "memory": "256M" 17 | }, 18 | "name": "nodejs", 19 | "deployer": "deploy-service", 20 | "properties": {} 21 | } 22 | ], 23 | "resourceTypes3": [ 24 | { 25 | "name": "hana", 26 | "resourceManager": "hdi-broker", 27 | "parameters": { 28 | "TABLES_LIMIT": 100 29 | } 30 | } 31 | ], 32 | "parameters": { 33 | "api-url": "https://cf-api.com" 34 | }, 35 | "name": "CF", 36 | "description": "A list of supported modules and resources in Cloud Foundry" 37 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/handlers/v3/platform-00.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CF", 3 | "description": "A list of supported modules and resources in Cloud Foundry", 4 | "module-types": [ 5 | { 6 | "name": "java.tomcat", 7 | "deployer": "deploy-service", 8 | "properties": { 9 | "TARGET_RUNTIME": "TOMCAT", 10 | "JAVA_CONFIG": "[]" 11 | }, 12 | "parameters": { 13 | "memory": "512M" 14 | } 15 | }, 16 | { 17 | "name": "nodejs", 18 | "deployer": "deploy-service", 19 | "parameters": { 20 | "memory": "256M" 21 | } 22 | } 23 | ], 24 | "resource-types": [ 25 | { 26 | "name": "hana", 27 | "resource-manager": "hdi-broker", 28 | "parameters": { 29 | "TABLES_LIMIT": 100 30 | } 31 | } 32 | ], 33 | "parameters": { 34 | "api-url": "https://cf-api.com" 35 | } 36 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/mergers/mtad-00.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.sample.mta 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | parameters: 9 | TEST_01: TEST_01_VALUE 10 | TEST_02: TEST_02_VALUE 11 | provides: 12 | - name: foo 13 | properties: 14 | TEST_03: TEST_03_VALUE 15 | TEST_04: TEST_04_VALUE 16 | 17 | - name: bar 18 | type: bar 19 | requires: 20 | - name: foo 21 | parameters: 22 | TEST_10: TEST_10_VALUE 23 | parameters: 24 | TEST_05: TEST_05_VALUE 25 | TEST_06: TEST_06_VALUE 26 | 27 | resources: 28 | - name: baz 29 | type: baz 30 | properties: 31 | TEST_07: TEST_07_VALUE 32 | 33 | 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/mergers/mtad-01.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.sample.mta 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | properties: 9 | TEST_01: TEST_01_VALUE 10 | TEST_02: TEST_02_VALUE 11 | provides: 12 | - name: foo 13 | properties: 14 | TEST_03: TEST_03_VALUE 15 | TEST_04: TEST_04_VALUE 16 | 17 | - name: bar 18 | type: bar 19 | requires: 20 | - name: foo 21 | parameters: 22 | TEST_11: TEST_11_VALUE 23 | properties: 24 | TEST_05: TEST_05_VALUE 25 | TEST_06: TEST_06_VALUE 26 | 27 | resources: 28 | - name: baz 29 | properties: 30 | TEST_07: TEST_07_VALUE 31 | 32 | parameters: 33 | TEST_08: TEST_08_VALUE 34 | TEST_09: TEST_09_VALUE 35 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/mergers/platform-00.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TEST", 3 | "module-types": [ 4 | { 5 | "name": "foo", 6 | "parameters": { 7 | "TEST_05": "TEST_05_VALUE", 8 | "TEST_06": "TEST_06_VALUE" 9 | } 10 | }, 11 | { 12 | "name": "bar", 13 | "parameters": { 14 | 15 | } 16 | } 17 | ], 18 | "resource-types": [ 19 | { 20 | "name": "baz", 21 | "parameters": { 22 | "TEST_09": "TEST_09_VALUE", 23 | "TEST_10": "TEST_10_VALUE" 24 | } 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/mergers/platform-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TEST", 3 | "module-types": [ 4 | { 5 | "name": "foo", 6 | "parameters": { 7 | "TEST_05": "TEST_05_VALUE", 8 | "TEST_06": "TEST_06_VALUE" 9 | } 10 | }, 11 | { 12 | "name": "bar", 13 | "parameters": { 14 | "TEST_11": "TEST_11_VALUE", 15 | "TEST_12": "TEST_12_VALUE" 16 | } 17 | } 18 | ], 19 | "resource-types": [ 20 | { 21 | "name": "baz", 22 | "parameters": { 23 | "TEST_09": "TEST_09_VALUE", 24 | "TEST_10": "TEST_10_VALUE" 25 | } 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/mergers/platform-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TEST", 3 | "module-types": [ 4 | { 5 | "name": "foo", 6 | "parameters": { 7 | "TEST_05": "TEST_05_DIFFERENT_VALUE", 8 | "TEST_06": "TEST_06_DIFFERENT_VALUE" 9 | } 10 | }, 11 | { 12 | "name": "bar", 13 | "parameters": { 14 | "TEST_11": "TEST_11_DIFFERENT_VALUE", 15 | "TEST_12": "TEST_12_DIFFERENT_VALUE" 16 | } 17 | } 18 | ], 19 | "resource-types": [ 20 | { 21 | "name": "baz", 22 | "parameters": { 23 | "TEST_09": "TEST_09_VALUE", 24 | "TEST_10": "TEST_10_DIFFERENT_VALUE" 25 | } 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/moduleProperties.yaml: -------------------------------------------------------------------------------- 1 | test-list: 2 | - foo: '@foo' 3 | bar: '@bar' 4 | - fizz: '@fizz' 5 | buzz: '@buzz' 6 | - 'a string in list' 7 | hosts: 8 | - 'some host' 9 | - 'another host' 10 | test-map: 11 | a-list: 12 | - first-item 13 | - second-item 14 | - third-item 15 | a-string: just-a-string 16 | tricky-map: 17 | "just a key": foo 18 | "0": 19 | - bar 20 | - baz 21 | "one/two": why 22 | ? "3/4" 23 | : "5": stop 24 | ? "3/4/5" 25 | : this is actually unreachable 26 | foo: ${qux}-${baz}-${bar}-${baz}-${qux} 27 | bar: ${baz}-${qux} 28 | baz: ${qux} 29 | qux: "qux" 30 | NO_CIRCULAR_REF: ${foo}-${bar}-${baz} 31 | NO_CIRCULAR_REF_IN_MAP: 32 | a: ${NO_CIRCULAR_REF_IN_MAP/b}-${NO_CIRCULAR_REF_IN_MAP/c} 33 | b: ${NO_CIRCULAR_REF_IN_MAP/c} 34 | c: "ha" 35 | head: ${baz}-${body} 36 | body: ${baz}-${tail} 37 | tail: ${baz}-${head} 38 | CIRCULAR_REF: ${foo}-${head} 39 | CIRCULAR_REF_MAP_IN_MAP: 40 | key: 41 | key: ${head} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-empty.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-match-complex.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: ztana 7 | type: java.tomcat 8 | path: backend.war 9 | parameters: 10 | module-parameter: test 11 | other-parameter: test 12 | hooks: 13 | - name: test-hook1 14 | type: task 15 | phases: 16 | - application.before-stop.live 17 | parameters: 18 | hook-parameter: test 19 | other-hook-parameter: test 20 | provides: 21 | - name: backend-live 22 | parameters: 23 | dependency-parameter: test 24 | other-provided-dependency-parameter: test 25 | requires: 26 | - name: bar 27 | parameters: 28 | dependency-parameter: test 29 | other-required-dependency-parameter: test 30 | 31 | resources: 32 | - name: baz 33 | parameters: 34 | other-resource-parameter: a 35 | resource-parameter: b 36 | requires: 37 | - name: bar 38 | parameters: 39 | dependency-parameter: test 40 | other-resource-dependency-parameter: test -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-match-hooks.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | hooks: 9 | - name: test-hook1 10 | type: task 11 | phases: 12 | - application.before-stop.live 13 | parameters: 14 | hook-parameter: test 15 | other-hook-parameter: test -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-match-parameter-resource.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | 6 | resources: 7 | - name: baz 8 | parameters: 9 | other-parameter: a 10 | resource-parameter: b 11 | properties: 12 | some-property: c -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-match-parameter.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | 6 | modules: 7 | - name: foo 8 | type: application 9 | parameters: 10 | module-parameter: a 11 | other-parameter: b -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-match-provides-requires.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: ztana 7 | type: java.tomcat 8 | path: backend.war 9 | provides: 10 | - name: backend-live 11 | parameters: 12 | dependency-parameter: test 13 | other-provided-dependency-parameter: test 14 | requires: 15 | - name: bar 16 | parameters: 17 | dependency-parameter: test 18 | other-required-dependency-parameter: test 19 | 20 | resources: 21 | - name: baz 22 | requires: 23 | - name: bar 24 | parameters: 25 | dependency-parameter: test 26 | other-resource-dependency-parameter: test 27 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-reference-complex.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: ${a} 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | b-ref: ${b} 14 | properties: 15 | c: ${c} 16 | provides: 17 | - name: backend-live 18 | parameters: 19 | url: ${ref-url} 20 | - name: backend-idle 21 | properties: 22 | url: ${ref-url-2} 23 | requires: 24 | - name: bar 25 | properties: 26 | d: ${d} 27 | hooks: 28 | - name: test-hook1 29 | type: task 30 | phases: 31 | - application.before-stop.live 32 | parameters: 33 | name: before-stop-task 34 | command: "sleep(${task-ref})" 35 | 36 | resources: 37 | - name: baz 38 | parameters: 39 | e: ~{e} 40 | properties: 41 | f: ~{f} 42 | requires: 43 | - name: bar 44 | properties: 45 | reference: ${non-existing-resource} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-reference-hooks.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | hooks: 9 | - name: test-hook1 10 | type: task 11 | phases: 12 | - application.before-stop.live 13 | parameters: 14 | name: before-stop-task 15 | command: ${default-time} 16 | foo: true -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-reference-parameter.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: ${a} 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | b2: ${b} 14 | 15 | resources: 16 | - name: baz 17 | parameters: 18 | parameters1: ~{c/d}.foo-test2-value 19 | baz-test2: ~{e/f}.bar-test1-value.nonexisting.~{bar/non-existing} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-reference-property.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | properties: 9 | b: bbb 10 | b2: ${b} 11 | 12 | resources: 13 | - name: baz 14 | properties: 15 | parameters1: ~{c/d}.foo-test2-value 16 | baz-test2: ~{e/f}.bar-test1-value.nonexisting.~{bar/non-existing} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-reference-provides-requires.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: ztanaa 7 | type: java.tomcat 8 | path: backend.war 9 | provides: 10 | - name: backend-live 11 | parameters: 12 | url: ${ref-url} 13 | - name: backend-idle 14 | properties: 15 | url: ${ref-url-2} 16 | requires: 17 | - name: bar 18 | properties: 19 | b: ${non-existing} 20 | 21 | resources: 22 | - name: baz 23 | requires: 24 | - name: bar 25 | properties: 26 | c: ${non-existing-resource} 27 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-valid.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: reference-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | global-parameter: ${a} 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | module-parameter: bbb 13 | provides: 14 | - name: backend-live 15 | parameters: 16 | dependency-parameter: ${ref-url} 17 | requires: 18 | - name: bar 19 | parameters: 20 | dependency-parameter: ${ref-url} 21 | hooks: 22 | - name: test-hook1 23 | type: task 24 | phases: 25 | - application.before-stop.live 26 | parameters: 27 | hook-parameter: before-stop-task 28 | 29 | resources: 30 | - name: baz 31 | parameters: 32 | resource-parameter: ~{e} 33 | requires: 34 | - name: bar 35 | parameters: 36 | dependency-parameter: ${ref-url} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/mtad-with-use-live-routes-in-provides-param.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.0.0" 2 | ID: hello 3 | version: 0.1.0 4 | 5 | modules: 6 | - name: ztanaa 7 | type: java.tomcat 8 | path: backend.war 9 | provides: 10 | - name: backend-live 11 | properties: 12 | url: ${routes/0/route} 13 | url1: ${routes/1/route} 14 | parameters: 15 | use-live-routes: true 16 | - name: backend-idle 17 | properties: 18 | url: ${routes/0/route} 19 | url1: ${routes/1/route} 20 | parameters: 21 | routes: 22 | - route: "default-route.default-host.default-domain" 23 | - route: "custom-route.custom-host.custom-domain" -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/merged-02.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.v2.test.config-01 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | properties: 11 | foo-test1: foo-test1-value 12 | foo-test2: foo-test2-value 13 | foo-test3: ~{bar-test2}.foo-test3-value 14 | foo-test4: ~{bar-test1}.foo-test4-value.~{bar-test3} 15 | parameters: 16 | foo-test2: foo-test4-value 17 | - name: baz 18 | properties: 19 | baz-test: ~{baz-test} 20 | provides: 21 | - name: foo 22 | 23 | - name: qux 24 | type: qux 25 | properties: 26 | bar-test: bar-test-value 27 | provides: 28 | - name: bar 29 | properties: 30 | bar-test1: bar-test1-value 31 | bar-test2: bar-test2-value 32 | bar-test3: bar-test3-value 33 | - name: qux 34 | requires: 35 | - name: baz 36 | 37 | resources: 38 | - name: baz 39 | properties: 40 | baz-test: 41 | baz-test1: baz-test1-value 42 | baz-test2: baz-test2-value 43 | 44 | parameters: 45 | test: test 46 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/merged-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.v2.test.config-01 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | properties: 11 | foo-test1: foo-test1-value 12 | foo-test2: foo-test2-value 13 | foo-test3: ~{bar-test2}.foo-test3-value 14 | foo-test4: ~{bar-test1}.foo-test4-value.~{bar-test3} 15 | parameters: 16 | foo-test2: foo-test4-value 17 | - name: baz 18 | properties: 19 | baz-test: ~{non-existing} 20 | provides: 21 | - name: foo 22 | 23 | - name: qux 24 | type: qux 25 | properties: 26 | bar-test: bar-test-value 27 | provides: 28 | - name: bar 29 | properties: 30 | bar-test1: bar-test1-value 31 | bar-test2: bar-test2-value 32 | bar-test3: bar-test3-value 33 | - name: qux 34 | requires: 35 | - name: baz 36 | 37 | resources: 38 | - name: baz 39 | properties: 40 | baz-test: 41 | baz-test1: baz-test1-value 42 | baz-test2: baz-test2-value 43 | 44 | parameters: 45 | test: test 46 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/merged-04.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.sample.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | list: bar 11 | properties: 12 | test_1: ~{test_1} 13 | test_2: ~{test_2} 14 | test_3: ~{test_1}.~{test_3} 15 | 16 | resources: 17 | - name: bar 18 | properties: 19 | test_1: test_1_value -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/merged-05.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.v2.test.config-01 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | properties: 9 | FOO_GROUP_1: 10 | - foo-group-sequence: ~{bar/bar-test1}.group1-value1 11 | - foo-group-sequence: ~{bar/bar-test2}.group1-value2 12 | FOO_GROUP_2: 13 | foo-group-test2: ~{bar/bar-test2}.group2-value1 14 | foo-group-test3: ~{bar/bar-test3}.group2-value2 15 | foo-root-property: ~{bar/bar-test1}.foo-test1-value 16 | parameters: 17 | FOO_GROUP_3: 18 | foo-group-test2: ~{bar/bar-test2}.group2-value1 19 | foo-group-test3: ~{bar/bar-test3}.group2-value2 20 | 21 | - name: bar 22 | type: bar 23 | properties: 24 | bar-test: bar-test-value 25 | provides: 26 | - name: bar 27 | properties: 28 | bar-test1: bar-test1-value 29 | bar-test2: bar-test2-value 30 | bar-test3: bar-test3-value 31 | 32 | parameters: 33 | test: test 34 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/merged-06.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.sample.mta 3 | version: 0.1.0 4 | 5 | modules: 6 | - name: web 7 | type: javascript.nodejs 8 | requires: 9 | - name: backend1 10 | - name: backend2 11 | provides: 12 | - name: web 13 | properties: 14 | name: web 15 | url: https://localhost:52030 16 | destinations: 17 | - name: backend1 18 | url: ~{backend1/url} 19 | forwardAuthToken: true 20 | - name: backend2 21 | url: ~{backend2/url} 22 | forwardAuthToken: true 23 | 24 | - name: dep 25 | type: javascript.nodejs 26 | properties: 27 | DEPLOY_DETAILS: 28 | name: ~{web/name} 29 | destinations: ~{web/destinations} 30 | url: ~{web/url} 31 | requires: 32 | - name: web 33 | - name: backend1 34 | - name: backend2 35 | 36 | resources: 37 | - name: backend1 38 | properties: 39 | name: backend1 40 | url: "https://example.com:51088" 41 | - name: backend2 42 | properties: 43 | name: backend2 44 | url: "https://www.ynet.co.il" -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-preservation-of-types.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: true 7 | p: 3.14 8 | c: 9999 9 | d: dddd 10 | e: 11 | - 123 12 | - 456 13 | - 789 14 | f: 15 | foo: bar 16 | baz: qux 17 | 18 | modules: 19 | - name: foo 20 | type: application 21 | properties: 22 | g: ${a} 23 | h: ${p} 24 | i: ${c} 25 | j: ${d} 26 | k: ${a}:${p}:${c} 27 | l: ${e} 28 | m: ${f} 29 | n: ${e}---${f} 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-circular-reference-in-module.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | parameters: 9 | a: ${a} 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-circular-reference-in-requires-dependency.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | requires: 9 | - name: bar 10 | parameters: 11 | a: ${a} 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-circular-reference-in-resource.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | resources: 6 | - name: bar 7 | type: managed-service 8 | parameters: 9 | a: ${a} 10 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-complex-circular-reference.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: ${c} 7 | b: ${a} 8 | c: 9 | - foo 10 | - bar 11 | - ${b} 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-concatenated-placeholders.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | schema: https 7 | host: api 8 | domain: cf.sap.corp 9 | 10 | modules: 11 | - name: foo 12 | type: application 13 | parameters: 14 | uri: ${schema}://${host}.${domain} 15 | properties: 16 | uri: ${schema}://${host}.${domain} 17 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-escaped-placeholders.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2 2 | ID: foo 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: \${placeholder} 7 | b: \${placeholder}.\${placeholder} 8 | 9 | modules: 10 | - name: foo 11 | type: foo 12 | parameters: 13 | c: \${placeholder} 14 | requires: 15 | - name: bar 16 | parameters: 17 | d: \${placeholder} 18 | provides: 19 | - name: foo 20 | parameters: 21 | e: \${placeholder} 22 | 23 | resources: 24 | - name: bar 25 | type: bar 26 | parameters: 27 | f: \${placeholder} 28 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-escaped-references.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2 2 | ID: foo 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | properties: 9 | a: \~{qux/abc} 10 | b: \~{qux} 11 | parameters: 12 | c: \~{qux/abc} 13 | d: \~{qux} 14 | requires: 15 | - name: bar 16 | properties: 17 | e: \~{qux/abc} 18 | f: \~{qux} 19 | parameters: 20 | g: \~{qux/abc} 21 | h: \~{qux} 22 | provides: 23 | - name: foo 24 | properties: 25 | i: \~{qux/abc} 26 | j: \~{qux} 27 | parameters: 28 | k: \~{qux/abc} 29 | l: \~{qux} 30 | 31 | resources: 32 | - name: bar 33 | type: bar 34 | properties: 35 | m: \~{qux/abc} 36 | n: \~{qux} 37 | parameters: 38 | o: \~{qux/abc} 39 | p: \~{qux} 40 | 41 | parameters: 42 | q: \~{qux/abc} 43 | r: \~{qux} 44 | s: \~{qux/abc}.\~{qux} 45 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholder-in-a-nested-structure.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | credentials: 7 | username: foo 8 | password: bar 9 | 10 | resources: 11 | - name: bar 12 | type: managed-service 13 | parameters: 14 | config: 15 | instances: 16 | - name: default 17 | credentials: ${credentials} 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-in-general-parameters.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | b: bbb 8 | c: ${a} 9 | d: ${a}:${b} 10 | 11 | modules: 12 | - name: foo 13 | type: application 14 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-in-module.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | c: ${a} 14 | d: ${b} 15 | properties: 16 | e: ${a} 17 | f: ${b} 18 | g: ${c} 19 | h: ${d} 20 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-in-provides-dependency.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | provides: 14 | - name: foo 15 | parameters: 16 | c: ccc 17 | d: ${a} 18 | e: ${b} 19 | f: ${c} 20 | properties: 21 | g: ${a} 22 | h: ${b} 23 | i: ${c} 24 | j: ${d} 25 | k: ${e} 26 | l: ${f} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-in-requires-dependency.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | requires: 14 | - name: bar 15 | parameters: 16 | c: ccc 17 | d: ${a} 18 | e: ${b} 19 | f: ${c} 20 | properties: 21 | g: ${a} 22 | h: ${b} 23 | i: ${c} 24 | j: ${d} 25 | k: ${e} 26 | l: ${f} 27 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-in-resource.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | 8 | resources: 9 | - name: bar 10 | type: managed-service 11 | parameters: 12 | b: bbb 13 | c: ${a} 14 | d: ${b} 15 | properties: 16 | e: ${a} 17 | f: ${b} 18 | g: ${c} 19 | h: ${d} 20 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-placeholders-with-depth.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: com.sap.mta.sample.v2 3 | version: 1.2.1-beta+20150403144937853 4 | 5 | modules: 6 | - name: web-server 7 | type: java.tomee 8 | provides: 9 | - name: web-server-props 10 | properties: 11 | route: ${routes/0/route} 12 | second-in-list: ${list/1} 13 | parameters: 14 | memory: 512M 15 | disk-quota: 256M 16 | routes: 17 | - route: something 18 | list-of-things: 19 | - thing1 20 | - thing2 21 | list: 22 | - ${memory} 23 | - ${disk-quota} 24 | - name: backend 25 | type: java.tomee 26 | provides: 27 | - name: backend 28 | properties: 29 | url: some-url 30 | parameters: 31 | routes: 32 | - route: something-else -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-repeating-placeholder.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | parameters: 9 | foo: foo 10 | bar: "${foo}.${foo}" 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-repeating-reference.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: repeating-reference-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: web-server 7 | type: com.sap.static-content 8 | requires: 9 | - name: web-server-database 10 | properties: 11 | bar: "~{foo}.~{foo}" 12 | 13 | resources: 14 | - name: web-server-database 15 | type: com.sap.hana.hdi-container 16 | properties: 17 | foo: foo 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-single-elem-in-buildpacks.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: anatz 3 | version: 2.0.1 4 | 5 | modules: 6 | - name: test 7 | parameters: 8 | buildpacks: random-buildpack 9 | type: javascript.nodejs 10 | 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-unresolvable-general-parameters.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | 9 | parameters: 10 | a: ${non-existing} 11 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-unresolvable-module-parameters.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | parameters: 9 | a: ${non-existing} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-unresolvable-module-properties.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | properties: 9 | a: ${non-existing} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-unresolvable-requires-dependency-parameters.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | requires: 9 | - name: bar 10 | parameters: 11 | b: ${non-existing} 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/mtad-with-unresolvable-requires-dependency-properties.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: application 8 | requires: 9 | - name: bar 10 | properties: 11 | b: ${non-existing} 12 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-concatenated-parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "placeholders-test", 4 | "version": "1.0.0", 5 | "modules": [ 6 | { 7 | "name": "foo", 8 | "type": "application", 9 | "properties": { 10 | "uri": "https://api.cf.sap.corp" 11 | }, 12 | "parameters": { 13 | "uri": "https://api.cf.sap.corp" 14 | }, 15 | "requiredDependencies": [], 16 | "providedDependencies": [ 17 | { 18 | "name": "foo", 19 | "isPublic": true, 20 | "properties": {}, 21 | "parameters": {}, 22 | "propertiesMetadata": { 23 | "metadata": {} 24 | }, 25 | "parametersMetadata": { 26 | "metadata": {} 27 | }, 28 | "majorSchemaVersion": 2 29 | } 30 | ], 31 | "propertiesMetadata": { 32 | "metadata": {} 33 | }, 34 | "parametersMetadata": { 35 | "metadata": {} 36 | }, 37 | "hooks": [], 38 | "majorSchemaVersion": 2 39 | } 40 | ], 41 | "resources": [], 42 | "parameters": { 43 | "domain": "cf.sap.corp", 44 | "host": "api", 45 | "schema": "https" 46 | }, 47 | "parametersMetadata": { 48 | "metadata": {} 49 | }, 50 | "majorSchemaVersion": 2 51 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-placeholder-in-a-nested-structure.json: -------------------------------------------------------------------------------- 1 | { 2 | "majorSchemaVersion" : 2, 3 | "schemaVersion" : "2.0.0", 4 | "id" : "placeholders-test", 5 | "version" : "1.0.0", 6 | "modules" : [ ], 7 | "resources" : [ { 8 | "majorSchemaVersion" : 2, 9 | "name" : "bar", 10 | "type" : "managed-service", 11 | "properties" : { }, 12 | "parameters" : { 13 | "config" : { 14 | "instances" : [ { 15 | "credentials" : { 16 | "password" : "bar", 17 | "username" : "foo" 18 | }, 19 | "name" : "default" 20 | } ] 21 | } 22 | }, 23 | "isActive" : true, 24 | "isOptional" : false, 25 | "propertiesMetadata" : { 26 | "metadata" : { } 27 | }, 28 | "parametersMetadata" : { 29 | "metadata" : { } 30 | }, 31 | "requiredDependencies" : [ ], 32 | "processedAfter" : [ ] 33 | } ], 34 | "parameters" : { 35 | "credentials" : { 36 | "password" : "bar", 37 | "username" : "foo" 38 | } 39 | }, 40 | "parametersMetadata" : { 41 | "metadata" : { } 42 | } 43 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-placeholders-in-general-parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "placeholders-test", 4 | "version": "1.0.0", 5 | "modules": [ 6 | { 7 | "name": "foo", 8 | "type": "application", 9 | "properties": {}, 10 | "parameters": {}, 11 | "requiredDependencies": [], 12 | "providedDependencies": [ 13 | { 14 | "name": "foo", 15 | "isPublic": true, 16 | "properties": {}, 17 | "parameters": {}, 18 | "propertiesMetadata": { 19 | "metadata": {} 20 | }, 21 | "parametersMetadata": { 22 | "metadata": {} 23 | }, 24 | "majorSchemaVersion": 2 25 | } 26 | ], 27 | "propertiesMetadata": { 28 | "metadata": {} 29 | }, 30 | "parametersMetadata": { 31 | "metadata": {} 32 | }, 33 | "hooks": [], 34 | "majorSchemaVersion": 2 35 | } 36 | ], 37 | "resources": [], 38 | "parameters": { 39 | "a": "aaa", 40 | "b": "bbb", 41 | "c": "aaa", 42 | "d": "aaa:bbb" 43 | }, 44 | "parametersMetadata": { 45 | "metadata": {} 46 | }, 47 | "majorSchemaVersion": 2 48 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-placeholders-in-module.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "placeholders-test", 4 | "version": "1.0.0", 5 | "modules": [ 6 | { 7 | "name": "foo", 8 | "type": "application", 9 | "properties": { 10 | "e": "aaa", 11 | "f": "bbb", 12 | "g": "aaa", 13 | "h": "bbb" 14 | }, 15 | "parameters": { 16 | "b": "bbb", 17 | "c": "aaa", 18 | "d": "bbb" 19 | }, 20 | "requiredDependencies": [], 21 | "providedDependencies": [ 22 | { 23 | "name": "foo", 24 | "isPublic": true, 25 | "properties": {}, 26 | "parameters": {}, 27 | "propertiesMetadata": { 28 | "metadata": {} 29 | }, 30 | "parametersMetadata": { 31 | "metadata": {} 32 | }, 33 | "majorSchemaVersion": 2 34 | } 35 | ], 36 | "propertiesMetadata": { 37 | "metadata": {} 38 | }, 39 | "parametersMetadata": { 40 | "metadata": {} 41 | }, 42 | "hooks": [], 43 | "majorSchemaVersion": 2 44 | } 45 | ], 46 | "resources": [], 47 | "parameters": { 48 | "a": "aaa" 49 | }, 50 | "parametersMetadata": { 51 | "metadata": {} 52 | }, 53 | "majorSchemaVersion": 2 54 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-placeholders-in-resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "majorSchemaVersion" : 2, 3 | "schemaVersion" : "2.0.0", 4 | "id" : "placeholders-test", 5 | "version" : "1.0.0", 6 | "modules" : [ ], 7 | "resources" : [ { 8 | "majorSchemaVersion" : 2, 9 | "name" : "bar", 10 | "type" : "managed-service", 11 | "properties" : { 12 | "e" : "aaa", 13 | "f" : "bbb", 14 | "g" : "aaa", 15 | "h" : "bbb" 16 | }, 17 | "parameters" : { 18 | "b" : "bbb", 19 | "c" : "aaa", 20 | "d" : "bbb" 21 | }, 22 | "isActive" : true, 23 | "isOptional" : false, 24 | "propertiesMetadata" : { 25 | "metadata" : { } 26 | }, 27 | "parametersMetadata" : { 28 | "metadata" : { } 29 | }, 30 | "requiredDependencies" : [ ], 31 | "processedAfter" : [ ] 32 | } ], 33 | "parameters" : { 34 | "a" : "aaa" 35 | }, 36 | "parametersMetadata" : { 37 | "metadata" : { } 38 | } 39 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v2/result-from-repeating-placeholder.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "2.0.0", 3 | "id": "placeholders-test", 4 | "version": "1.0.0", 5 | "modules": [ 6 | { 7 | "name": "foo", 8 | "type": "application", 9 | "properties": {}, 10 | "parameters": { 11 | "bar": "foo.foo", 12 | "foo": "foo" 13 | }, 14 | "requiredDependencies": [], 15 | "providedDependencies": [ 16 | { 17 | "name": "foo", 18 | "isPublic": true, 19 | "properties": {}, 20 | "parameters": {}, 21 | "propertiesMetadata": { 22 | "metadata": {} 23 | }, 24 | "parametersMetadata": { 25 | "metadata": {} 26 | }, 27 | "majorSchemaVersion": 2 28 | } 29 | ], 30 | "propertiesMetadata": { 31 | "metadata": {} 32 | }, 33 | "parametersMetadata": { 34 | "metadata": {} 35 | }, 36 | "hooks": [], 37 | "majorSchemaVersion": 2 38 | } 39 | ], 40 | "resources": [], 41 | "parameters": {}, 42 | "parametersMetadata": { 43 | "metadata": {} 44 | }, 45 | "majorSchemaVersion": 2 46 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/merged-02.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: com.sap.mta.v2.test.config-01 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: qux 7 | type: qux 8 | properties: 9 | bar-test: bar-test-value 10 | baz-test2: ~{baz/baz-test3}.baz-test3.reference 11 | provides: 12 | - name: bar 13 | properties: 14 | bar-test1: bar-test1-value 15 | bar-test2: bar-test2-value 16 | bar-test3: bar-test3-value 17 | - name: qux 18 | requires: 19 | - name: baz 20 | properties: 21 | baz-test4: ~{baz-test/baz-test4}.baz-test/baz-test4-reference 22 | baz-test3: ~{baz-test3}.baz-test3-reference 23 | 24 | resources: 25 | - name: baz 26 | requires: 27 | - name: bar 28 | properties: 29 | baz-test: 30 | baz-test1: ~{bar/bar-test1}.bar-test1-reference 31 | baz-test2: baz-test2-value 32 | baz-test3: ~{bar/bar-test2}.bar-test2-reference-bar-test1-reference.~{bar/bar-test1} 33 | baz-test/baz-test4: "baz-test/baz-test4-value" 34 | 35 | parameters: 36 | test: ~{bar/bar-test3} 37 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/merged-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.0.0" 2 | ID: com.sap.mta.v2.test.config-01 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: qux 7 | type: qux 8 | properties: 9 | bar-test: bar-test-value 10 | provides: 11 | - name: bar 12 | properties: 13 | bar-test1: bar-test1-value 14 | bar-test2: bar-test2-value 15 | - name: qux 16 | requires: 17 | - name: baz 18 | 19 | resources: 20 | - name: baz 21 | requires: 22 | - name: bar 23 | properties: 24 | baz-test1: ~{bar/bar-test2}.foo-test2-value 25 | baz-test2: ~{bar/bar-test1}.bar-test1-value.nonexisting.~{bar/non-existing} 26 | 27 | 28 | parameters: 29 | test: test 30 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/mtad-01.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: aaa 7 | 8 | modules: 9 | - name: foo 10 | type: application 11 | parameters: 12 | b: bbb 13 | provides: 14 | - name: foo 15 | parameters: 16 | c: ccc 17 | d: ${a} 18 | e: ${b} 19 | f: ${c} 20 | properties: 21 | g: ${a} 22 | h: ${b} 23 | i: ${c} 24 | j: ${d} 25 | k: ${e} 26 | l: ${f} -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/mtad-with-dynamic-parameter-placeholder.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: foo 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: foo 7 | type: foo 8 | requires: 9 | - name: bar 10 | 11 | 12 | resources: 13 | - name: bar 14 | type: bar 15 | properties: 16 | my-service-guid: ${service-guid} 17 | 18 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/mtad-with-escaped-placeholders.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 3 2 | ID: foo 3 | version: 1.0.0 4 | 5 | parameters: 6 | a: \${placeholder} 7 | b: \${placeholder}.\${placeholder} 8 | 9 | modules: 10 | - name: foo 11 | type: foo 12 | parameters: 13 | c: \${placeholder} 14 | requires: 15 | - name: bar 16 | parameters: 17 | d: \${placeholder} 18 | provides: 19 | - name: foo 20 | parameters: 21 | e: \${placeholder} 22 | hooks: 23 | - name: baz 24 | type: baz 25 | parameters: 26 | g: \${placeholder} 27 | requires: 28 | - name: bar 29 | parameters: 30 | h : \${placeholder} 31 | 32 | resources: 33 | - name: bar 34 | type: bar 35 | parameters: 36 | f: \${placeholder} 37 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/resolvers/v3/mtad-with-placeholders-in-hook.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: '3' 2 | ID: placeholders-test 3 | version: 1.0.0 4 | 5 | parameters: 6 | default-time: 1000 7 | url: example.com 8 | 9 | modules: 10 | - name: foo 11 | type: application 12 | parameters: 13 | task2-time: 10 14 | hooks: 15 | - name: test-hook1 16 | type: task 17 | phases: 18 | - application.before-stop.live 19 | parameters: 20 | name: before-stop-task 21 | command: "sleep(${default-time})" 22 | - name: test-hook2 23 | type: task 24 | phases: 25 | - application.after-stop.live 26 | parameters: 27 | name: after-stop-task 28 | command: "sleep(${task2-time})" 29 | requires: 30 | - name: bar 31 | parameters: 32 | execution-url: ${url} 33 | a: aaa 34 | properties: 35 | b: ${a} 36 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-03.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 1.0.0 2 | version: 1.2.1-beta+20150403144937853 3 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-04.yaml: -------------------------------------------------------------------------------- 1 | ID: com.sap.mta.sample 2 | version: 1.2.1-beta+20150403144937853 3 | 4 | modules: 5 | - name: web-server 6 | type: com.sap.static-content 7 | requires: internal-odata 8 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-06.yaml: -------------------------------------------------------------------------------- 1 | ID: com/sap/mta/sample 2 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-07.yaml: -------------------------------------------------------------------------------- 1 | ID: a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-name-that-is-bigger-than-128-characters 2 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-08.yaml: -------------------------------------------------------------------------------- 1 | ID: com.sap.mta.sample 2 | version: 1.2.1-beta+20150403144937853 3 | 4 | modules: 5 | - name: web-server 6 | type: com.sap.static-content 7 | provides: 8 | - name: internal-od@ta 9 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-09.yaml: -------------------------------------------------------------------------------- 1 | ID: com.sap.mta.sample 2 | version: 1.2.1-beta+20150403144937853 3 | 4 | modules: 5 | - name: web server 6 | type: com.sap.static-content 7 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/schema/mtad-10.yaml: -------------------------------------------------------------------------------- 1 | ID: com.sap.mta.sample 2 | version: 1.2.1-beta+20150403144937853 3 | 4 | modules: 5 | - name: web-server 6 | type: com.sap.static-content 7 | provides: 8 | - name: provided 9 | public: not-a-true-or-false -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/serialization/v2/extension-descriptor-00.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: mta-extension 3 | ext_description: description 4 | description: new-description 5 | extends: mta-id 6 | ext_provider: provider-id 7 | provider: new-provider-id 8 | target-platforms: 9 | - first-target 10 | - second-target 11 | modules: 12 | - name: test-module 13 | properties: 14 | module-property: property # this comment should not affect the resulting descriptor 15 | parameters: 16 | module-parameter: parameter 17 | provides: 18 | - name: provided-dependency 19 | properties: 20 | provided-property: some-property 21 | requires: 22 | - name: required-dependency 23 | properties: 24 | required-property: property-value 25 | parameters: 26 | required-parameter: parameter-value 27 | resources: 28 | - name: test-resource 29 | properties: 30 | resource-property: some-resource-property 31 | parameters: 32 | resource-parameter: some-resource-parameter 33 | parameters: 34 | descriptor-property: some-descriptor-property -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/serialization/v2/mtad-00.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: 2.0.0 2 | ID: ztana 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: test-module 7 | type: javascript.nodejs 8 | properties: 9 | health-check-type: none 10 | health-check-timeout: 180 # this comment should not affect the resulting descriptor 11 | no-start: true 12 | password: sensitive_data 13 | parameters: 14 | some-parameter: module-parameter 15 | requires: 16 | - name: test-service 17 | properties: 18 | required-dependency-property: required-property 19 | parameters: 20 | required-dependency-parameter: required-parameter 21 | provides: 22 | - name: providesSomething 23 | public: false 24 | 25 | resources: 26 | - name: test-service 27 | type: org.postgresql 28 | parameters: 29 | test-parameter: resource-parameter 30 | some-parameter-map: 31 | - first-parameter: first-parameter 32 | second-parameter: second-parameter 33 | 34 | parameters: 35 | descriptor-parameter: some-parameter -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/serialization/v3/extension-descriptor-00.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.0.0 2 | ID: mta-extension 3 | extends: mta-id 4 | 5 | modules: 6 | - name: test-module 7 | properties: # this comment should not affect the resulting descriptor 8 | module-property: property 9 | parameters: 10 | module-parameter: parameter 11 | provides: 12 | - name: provided-dependency 13 | properties: 14 | provided-property: some-property 15 | parameters: 16 | provided-parameter: some-parameter 17 | requires: 18 | - name: required-dependency 19 | properties: 20 | required-property: property-value 21 | parameters: 22 | required-parameter: parameter-value 23 | 24 | resources: 25 | - name: test-resource 26 | properties: 27 | resource-property: some-resource-property 28 | parameters: 29 | resource-parameter: some-resource-parameter 30 | active: false 31 | requires: 32 | - name: test-module 33 | properties: 34 | resource-required-property: foo 35 | parameters: 36 | resource-required-parameter: bar 37 | parameters: 38 | descriptor-property: some-descriptor-property -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/serialization/v3/extension-descriptor-01.mtaext: -------------------------------------------------------------------------------- 1 | _schema-version: 3.1.0 2 | ID: mta-extension 3 | extends: mta-id 4 | 5 | modules: 6 | - name: test-module 7 | properties: 8 | module-property: property 9 | parameters: 10 | module-parameter: parameter 11 | provides: 12 | - name: provided-dependency 13 | properties: 14 | provided-property: some-property 15 | parameters: 16 | provided-parameter: some-parameter 17 | requires: 18 | - name: required-dependency 19 | properties: 20 | required-property: property-value 21 | parameters: 22 | required-parameter: parameter-value 23 | resources: 24 | - name: test-resource 25 | properties: 26 | resource-property: some-resource-property 27 | parameters: 28 | resource-parameter: some-resource-parameter 29 | parameters: 30 | descriptor-property: some-descriptor-property -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deflated-mta.mtar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/multiapps/3828a3bfefbbda45e8b354f387457728d752f030/multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deflated-mta.mtar -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deployment-properties-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "deploymendDescriptorSensitiveTaggedParameter": "tagged-parameter", 3 | "deploymendDescriptorNormalParameter": "parameter", 4 | "deploymentDescriptorSensitiveParameter": "sensitive-parameter", 5 | "jvm_args": { 6 | "arg1": "value1", 7 | "map-param": { 8 | "key1": "value1", 9 | "key2": "value2" 10 | } 11 | }, 12 | "jvm_args2": { 13 | "arg1": "value1", 14 | "arg2": "value2" 15 | }, 16 | "scalarParam": "asd" 17 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deployment-properties-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "arg1": "value1", 4 | "arg2": "value2" 5 | } 6 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deployment-properties-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "scalar_arg": 12.34, 4 | "jvm_args_map": { 5 | "value1": 2, 6 | "value2": "propertyValue" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deployment-properties-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "scalar_arg": 12.34, 4 | "jvm_args_map": { 5 | "value1": 2, 6 | "value2": "propertyValue" 7 | } 8 | }, 9 | 10 | "scalar_param": 4 11 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/deployment-properties-05.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "jvm_args": { 4 | "scalar_arg": 12, 5 | "jvm_args_map": { 6 | "value2": "extensionValue", 7 | "value3": "newValue" 8 | } 9 | }, 10 | "scalar_param": { 11 | "arg1": "value1", 12 | "arg2": "value3" 13 | } 14 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/expected-deployment-descriptor.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: test 3 | version: 6.0.0 4 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/expected-map-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "_schema-version": "3.1.0", 3 | "ID": "com.sap.mta.test", 4 | "version": "1.0.0", 5 | "modules": [ 6 | { 7 | "name": "anatz", 8 | "type": "java.tomcat" 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/extension-properties-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "deploymendDescriptorSensitiveTaggedParameter": "tagged-parameter", 3 | "deploymendDescriptorNormalParameter": "parameter", 4 | "deploymentDescriptorSensitiveParameter": "sensitive-parameter", 5 | "jvm_args": { 6 | "map-param": { 7 | "key1": "value5", 8 | "key3": "value3" 9 | } 10 | }, 11 | "jvm_args2": { 12 | "arg3": "value3" 13 | }, 14 | "scalarParam": "newparam", 15 | "jvm_args3": { 16 | "arg1": "value1" 17 | } 18 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/extension-properties-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "arg1": "value1", 4 | "arg2": "value2" 5 | } 6 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/extension-properties-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "scalar_arg": 12, 4 | "jvm_args_map": { 5 | "value2": "extensionValue", 6 | "value3": "newValue" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/extension-properties-04.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "jvm_args": { 4 | "scalar_arg": 12, 5 | "jvm_args_map": { 6 | "value2": "extensionValue", 7 | "value3": "newValue" 8 | } 9 | }, 10 | "scalar_param": { 11 | "arg1": "value1", 12 | "arg2": "value3" 13 | } 14 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/extension-properties-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "scalar_arg": 12.34, 4 | "jvm_args_map": { 5 | "value1": 2, 6 | "value2": "propertyValue" 7 | } 8 | }, 9 | 10 | "scalar_param": 4 11 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/merged-properties-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "deploymendDescriptorNormalParameter": "parameter", 3 | "deploymendDescriptorSensitiveTaggedParameter": "tagged-parameter", 4 | "deploymentDescriptorSensitiveParameter": "sensitive-parameter", 5 | "jvm_args": { 6 | "arg1": "value1", 7 | "map-param": { 8 | "key1": "value5", 9 | "key2": "value2", 10 | "key3": "value3" 11 | } 12 | }, 13 | "jvm_args2": { 14 | "arg1": "value1", 15 | "arg2": "value2", 16 | "arg3": "value3" 17 | }, 18 | "jvm_args3": { 19 | "arg1": "value1" 20 | }, 21 | "scalarParam": "newparam" 22 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/merged-properties-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "arg1": "value1", 4 | "arg2": "value2" 5 | } 6 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/merged-properties-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "jvm_args": { 3 | "jvm_args_map": { 4 | "value1": 2, 5 | "value2": "extensionValue", 6 | "value3": "newValue" 7 | }, 8 | "scalar_arg": 12 9 | } 10 | } -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/mtad-with-security-violation.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: anatz 7 | type: java.tomcat 8 | path: target/consumer.simple-0.0.1-SNAPSHOT.war 9 | parameters: 10 | instances: !!javax.script.ScriptEngineManager [ 11 | !!java.net.URLClassLoader [[ 12 | !!java.net.URL ["http://url-with-jar-to-be-loaded"] 13 | ]] 14 | ] 15 | -------------------------------------------------------------------------------- /multiapps-mta/src/test/resources/org/cloudfoundry/multiapps/mta/util/mtad.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "3.1.0" 2 | ID: com.sap.mta.test 3 | version: 1.0.0 4 | 5 | modules: 6 | - name: anatz 7 | type: java.tomcat 8 | -------------------------------------------------------------------------------- /spec/README.md: -------------------------------------------------------------------------------- 1 | # MTA spec schema 2 | This directory structure contains the [Multi-Target Application (MTA)](https://www.sap.com/documents/2016/06/e2f618e4-757c-0010-82c7-eda71af511fa.html) specification schema files. 3 | 4 | # How to test after a change? 5 | 1. Install [kwalify](http://www.kuwata-lab.com/kwalify/): 6 | ``` 7 | gem install kwalify 8 | ``` 9 | 2. Run: 10 | ``` 11 | kwalify -f 12 | ``` 13 | -------------------------------------------------------------------------------- /spec/schemas/v2/v2.2/exttest.yaml: -------------------------------------------------------------------------------- 1 | _schema-version: "2.2" 2 | ID: com.acme.scheduling.ext 3 | extends: com.acme.scheduling 4 | 5 | modules: 6 | - name: backend 7 | build-parameters: 8 | builder: maven 9 | provides: 10 | - name: 0backend_task 11 | properties: 12 | url: ${default-url}/tasks 13 | requires: 14 | - name: scheduler_api 15 | properties: 16 | scheduler_url: ~{url} 17 | - name: scheduler 18 | provides: 19 | - name: scheduler_api 20 | properties: 21 | url: ${default-url}/api/v2 22 | requires: 23 | - name: backend_task 24 | properties: 25 | task_url: ~{url} 26 | 27 | resources: 28 | - name: plugins 29 | parameters: 30 | filter: 31 | type: com.acme.plugin 32 | properties: 33 | plugin_name: ${name} 34 | plugin_url: ${url}/sources 35 | 36 | parameters: 37 | first_param: a value 38 | second_param: 39 | - has 40 | - structure 41 | -------------------------------------------------------------------------------- /spec/schemas/v2/v2.2/test.yaml: -------------------------------------------------------------------------------- 1 | # Shall validate positively 2 | _schema-version: "2.2" 3 | ID: com.acme.scheduling 4 | version: 1.0.0 5 | modules: 6 | - name: backend 7 | type: javascript.nodejs 8 | build-parameters: 9 | builder: maven 10 | provides: 11 | - name: backend_task 12 | properties: 13 | url: ${default-url}/tasks 14 | requires: 15 | - name: scheduler_api 16 | group: mylist 17 | properties: 18 | scheduler_url: ~{url} 19 | - name: scheduler 20 | type: javascript.nodejs 21 | provides: 22 | - name: scheduler_api 23 | properties: 24 | url: ${default-url}/api/v2 25 | requires: 26 | - name: backend_task 27 | properties: 28 | task_url: ~{url} 29 | 30 | resources: 31 | - name: plugins 32 | type: configuration 33 | parameters: 34 | filter: 35 | type: com.acme.plugin 36 | properties: 37 | plugin_name: ${name} 38 | plugin_url: ${url}/sources 39 | 40 | parameters: 41 | first_param: a value 42 | second_param: 43 | - has 44 | - structure 45 | -------------------------------------------------------------------------------- /spec/schemas/v3/v3.1/exttest.yaml: -------------------------------------------------------------------------------- 1 | # Shall validate positively 2 | _schema-version: "3.1" 3 | ID: com.acme.scheduling.ext 4 | extends: com.acme.scheduling 5 | 6 | targets: [DEV] 7 | 8 | modules: 9 | - name: backend 10 | build-parameters: 11 | ignore: [.gitignore, *.mtar] 12 | e: b 13 | provides: 14 | - name: backend_task 15 | properties: 16 | url: ${default-url}/tasks 17 | requires: 18 | - name: scheduler_api 19 | properties: 20 | scheduler_url: ~{url} 21 | - name: scheduler 22 | provides: 23 | - name: scheduler_api 24 | properties: 25 | url: ${default-url}/api/v2 26 | requires: 27 | - name: backend_task 28 | properties: 29 | task_url: ~{url} 30 | 31 | resources: 32 | - name: plugins 33 | active: false 34 | optional: false 35 | requires: 36 | - name: scheduler_api 37 | parameters: 38 | par2: value2 39 | properties: 40 | prop2: a-prop-value 41 | parameters: 42 | filter: 43 | type: com.acme.plugin 44 | properties: 45 | plugin_name: ${name} 46 | plugin_url: ${url}/sources 47 | 48 | parameters: 49 | first_param: a value 50 | second_param: 51 | - has 52 | - structure 53 | --------------------------------------------------------------------------------