Skip to content

Commit da06206

Browse files
authored
Support multiple envs for rpt (#116)
1 parent 48a7097 commit da06206

File tree

2 files changed

+33
-14
lines changed

2 files changed

+33
-14
lines changed

artifactory/commands/repository/repository_test.go

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,46 @@ func Test_PerformRepoCmd_SingleRepository(t *testing.T) {
2525
expErr error
2626
}{
2727
{
28-
name: "Create single Maven local repository",
28+
name: "Create Maven local repository with multiple environments",
2929
templatePath: createTempTemplate(t, singleRepoTemplate),
30-
vars: "REPO_KEY=test-maven-local;RCLASS=local;PACKAGE_TYPE=maven;DESCRIPTION=Test Maven repo",
30+
vars: `REPO_KEY=test-maven-local;RCLASS=local;PACKAGE_TYPE=maven;DESCRIPTION=Test Maven repo;ENVIRONMENTS=PROD,DEV`,
3131
isUpdate: false,
3232
expectedRepo: services.RepositoryBaseParams{
33-
Key: "test-maven-local",
34-
Rclass: "local",
35-
PackageType: "maven",
36-
Description: "Test Maven repo",
33+
Key: "test-maven-local",
34+
Rclass: "local",
35+
PackageType: "maven",
36+
Description: "Test Maven repo",
37+
Environments: []string{"PROD", "DEV"},
38+
},
39+
expectedStatus: http.StatusOK,
40+
expErr: nil,
41+
},
42+
{
43+
name: "Create Maven local repository with single environment",
44+
templatePath: createTempTemplate(t, singleRepoTemplate),
45+
vars: `REPO_KEY=test-maven-local-single;RCLASS=local;PACKAGE_TYPE=maven;DESCRIPTION=Test Maven repo;ENVIRONMENTS=PROD`,
46+
isUpdate: false,
47+
expectedRepo: services.RepositoryBaseParams{
48+
Key: "test-maven-local-single",
49+
Rclass: "local",
50+
PackageType: "maven",
51+
Description: "Test Maven repo",
52+
Environments: []string{"PROD"},
3753
},
3854
expectedStatus: http.StatusOK,
3955
expErr: nil,
4056
},
4157
{
4258
name: "Update single Maven local repository",
4359
templatePath: createTempTemplate(t, singleRepoTemplate),
44-
vars: "REPO_KEY=test-maven-local;RCLASS=local;PACKAGE_TYPE=maven;DESCRIPTION=Updated Maven repo",
60+
vars: `REPO_KEY=test-maven-local;RCLASS=local;PACKAGE_TYPE=maven;DESCRIPTION=Updated Maven repo;ENVIRONMENTS=PROD,DEV`,
4561
isUpdate: true,
4662
expectedRepo: services.RepositoryBaseParams{
47-
Key: "test-maven-local",
48-
Rclass: "local",
49-
PackageType: "maven",
50-
Description: "Updated Maven repo",
63+
Key: "test-maven-local",
64+
Rclass: "local",
65+
PackageType: "maven",
66+
Description: "Updated Maven repo",
67+
Environments: []string{"PROD", "DEV"},
5168
},
5269
expectedStatus: http.StatusOK,
5370
expErr: nil,
@@ -273,7 +290,8 @@ const singleRepoTemplate = `{
273290
"key": "${REPO_KEY}",
274291
"rclass": "${RCLASS}",
275292
"packageType": "${PACKAGE_TYPE}",
276-
"description": "${DESCRIPTION}"
293+
"description": "${DESCRIPTION}",
294+
"environments": "${ENVIRONMENTS}"
277295
}`
278296

279297
const multipleReposTemplate = `[

artifactory/commands/repository/template.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -808,10 +808,11 @@ var questionMap = map[string]ioutils.QuestionInfo{
808808
Callback: projectKeyCallback,
809809
},
810810
Environment: {
811-
PromptPrefix: "Insert the name of the environment to assign to >",
811+
PromptPrefix: "Insert the environment(s) to assign to >",
812+
Msg: ioutils.CommaSeparatedListMsg,
812813
AllowVars: true,
813814
MapKey: environmentsKey,
814-
Writer: ioutils.WriteStringAnswer,
815+
Writer: ioutils.WriteStringArrayAnswer,
815816
},
816817
HandleReleases: BoolToStringQuestionInfo,
817818
HandleSnapshots: BoolToStringQuestionInfo,

0 commit comments

Comments
 (0)