/* * Copyright 2017 ThoughtWorks, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.thoughtworks.go.domain.packagerepository; import com.thoughtworks.go.domain.config.Configuration; import java.io.Serializable; import java.util.HashMap; public class PackageDefinitionMother { public static PackageDefinition create(String id, PackageRepository repository) { return create(id, "package-" + id, new Configuration(), repository); } public static PackageDefinition create(String id) { return create(id, null); } public static PackageDefinition create(final String id, final String name, final Configuration configuration, PackageRepository packageRepository) { PackageDefinition packageDefinition = new PackageDefinition(id, name, configuration); packageDefinition.setRepository(packageRepository); return packageDefinition; } public static HashMap<String, Serializable> paramsForPackageMaterialCreation(String repoId, String pkgName) { HashMap<String, HashMap> config = new HashMap<>(); config.put("0", paramsForPackageMaterialConfig("key1", "value1")); config.put("1", paramsForPackageMaterialConfig("key2", "value2")); HashMap<String, Serializable> packageDef = new HashMap<>(); packageDef.put("repositoryId", repoId); packageDef.put("name", pkgName); packageDef.put("configuration", config); HashMap<String, Serializable> params = new HashMap<>(); params.put("package_definition", packageDef); return params; } public static HashMap<String, Serializable> paramsForPackageMaterialAssociation(String repoId, String pkgId) { HashMap<String, Serializable> packageDef = new HashMap<>(); packageDef.put("repositoryId", repoId); HashMap<String, Serializable> params = new HashMap<>(); params.put("package_definition", packageDef); params.put("packageId", pkgId); return params; } public static HashMap paramsForPackageMaterialConfig(String key, String value) { HashMap property = new HashMap(); HashMap<String, String> valueMap = new HashMap<>(); HashMap<String, Serializable> keyMap = new HashMap<>(); keyMap.put("name", key); valueMap.put("value", value); property.put("configurationKey", keyMap); property.put("configurationValue", valueMap); return property; } }