Skip to content

Commit 30842ef

Browse files
author
Dominik Przybyl
committed
refactor
1 parent db1f2ba commit 30842ef

File tree

3 files changed

+26
-40
lines changed

3 files changed

+26
-40
lines changed

cmd/aem/instance_list_int_test.go

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,33 +57,21 @@ func TestPublishInstances(t *testing.T) {
5757
}
5858

5959
func TestInstanceByID(t *testing.T) {
60-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-I", "local_publish", "--output-value", "NONE"}, true, []string{"local_author", "local_publish"})
60+
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "--output-value", "NONE"}, true, []string{"local_author"})
6161
}
6262

6363
func TestInstanceByURL(t *testing.T) {
6464
testInstanceList(t, []string{"instance", "list", "-U", "http://admin:admin@127.0.0.1:4502", "-U", "http://admin:admin@127.0.0.1:4503", "-U", "test_author=http://admin:admin@127.0.0.1:4502", "--output-value", "NONE"}, true, []string{"remote_adhoc_1", "remote_adhoc_2", "test_author"})
6565
}
6666

67+
func TestInstanceByIDOrURL(t *testing.T) {
68+
testInstanceList(t, []string{"instance", "list", "-I", "local_publish", "-U", "http://admin:admin@127.0.0.1:4502", "--output-value", "NONE"}, true, []string{"local_publish", "remote_adhoc"})
69+
}
70+
6771
func TestAuthorInstanceByURL(t *testing.T) {
6872
testInstanceList(t, []string{"instance", "list", "-U", "dev-auth_author=http://admin:admin@127.0.0.1:4502", "-U", "dev-pub1_publish=http://admin:admin@127.0.0.1:4503", "-U", "dev-pub2_publish=http://admin:admin@127.0.0.1:4504", "-A", "--output-value", "NONE"}, true, []string{"dev-auth_author"})
6973
}
7074

7175
func TestPublishInstanceByURL(t *testing.T) {
7276
testInstanceList(t, []string{"instance", "list", "-U", "dev-auth_author=http://admin:admin@127.0.0.1:4502", "-U", "dev-pub1_publish=http://admin:admin@127.0.0.1:4503", "-U", "dev-pub2_publish=http://admin:admin@127.0.0.1:4504", "-P", "--output-value", "NONE"}, true, []string{"dev-pub1_publish", "dev-pub2_publish"})
7377
}
74-
75-
func TestConflictAuthorAndPublish(t *testing.T) {
76-
testInstanceList(t, []string{"instance", "list", "-A", "-P"}, false, []string{})
77-
}
78-
79-
func TestConflictByIDAndAuthor(t *testing.T) {
80-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-A"}, false, []string{})
81-
}
82-
83-
func TestConflictByIDAndPublish(t *testing.T) {
84-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-P"}, false, []string{})
85-
}
86-
87-
func TestConflictIDAndURL(t *testing.T) {
88-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-U", "http://admin:admin@127.0.0.1:4502"}, false, []string{})
89-
}

cmd/aem/root.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,6 @@ func (c *CLI) rootFlags(cmd *cobra.Command) {
8080
cmd.PersistentFlags().BoolP("instance-publish", "P", cv.GetBool("instance.filter.publishes"), "Use only AEM publish instance(s)")
8181
_ = cv.BindPFlag("instance.filter.publishes", cmd.PersistentFlags().Lookup("instance-publish"))
8282

83-
cmd.MarkFlagsMutuallyExclusive("instance-url", "instance-id")
84-
cmd.MarkFlagsMutuallyExclusive("instance-id", "instance-author", "instance-publish")
85-
8683
cmd.PersistentFlags().String("instance-processing", cv.GetString("instance.processing_mode"), "Controls processing mode for instances ("+(strings.Join(instance.ProcessingModes(), "|")+")"))
8784
_ = cv.BindPFlag("instance.processing_mode", cmd.PersistentFlags().Lookup("instance-processing"))
8885
}

pkg/instance_manager.go

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -84,33 +84,45 @@ func (im *InstanceManager) All() []Instance {
8484
}
8585

8686
func (im *InstanceManager) newAdHocOrFromConfig() []Instance {
87+
var result []Instance
8788
if len(im.AdHocURLs) > 0 {
88-
var result []Instance
8989
for adHocIndex, adHocValue := range im.AdHocURLs {
9090
iURL, err := im.newAdhoc(adHocValue, adHocIndex, len(im.AdHocURLs))
9191
if err != nil {
9292
log.Fatalf("cannot create instance from ad hoc value '%s': %s", adHocValue, err)
9393
}
9494
result = append(result, *iURL)
9595
}
96-
return result
9796
}
97+
var instances []Instance
9898
cv := im.aem.config.Values()
9999
configIDs := maps.Keys(cv.GetStringMap("instance.config"))
100100
if len(configIDs) > 0 {
101-
var result []Instance
102101
for _, id := range configIDs {
103102
cv.SetDefault(fmt.Sprintf("instance.config.%s.active", id), true)
104103
active := cv.GetBool(fmt.Sprintf("instance.config.%s.active", id))
105104
if active {
106105
if i := im.newFromConfig(id); i != nil {
107-
result = append(result, *i)
106+
instances = append(instances, *i)
108107
}
109108
}
110109
}
111-
return result
110+
} else {
111+
instances = im.NewLocalPair()
112+
}
113+
if len(im.FilterIDs) > 0 {
114+
for _, i := range instances {
115+
for _, filterID := range im.FilterIDs {
116+
if i.id == filterID {
117+
result = append(result, i)
118+
break
119+
}
120+
}
121+
}
122+
} else if len(im.AdHocURLs) == 0 {
123+
result = instances
112124
}
113-
return im.NewLocalPair()
125+
return result
114126
}
115127

116128
func (im *InstanceManager) newAdhoc(value string, current int, total int) (*Instance, error) {
@@ -165,20 +177,9 @@ func (im *InstanceManager) newFromConfig(id string) *Instance {
165177

166178
func (im *InstanceManager) filter(instances []Instance) []Instance {
167179
result := []Instance{}
168-
if len(im.FilterIDs) > 0 {
169-
for _, i := range instances {
170-
for _, filterID := range im.FilterIDs {
171-
if i.id == filterID {
172-
result = append(result, i)
173-
break
174-
}
175-
}
176-
}
177-
} else {
178-
for _, i := range instances {
179-
if im.FilterAuthors == im.FilterPublishes || im.FilterAuthors && i.IsAuthor() || im.FilterPublishes && i.IsPublish() {
180-
result = append(result, i)
181-
}
180+
for _, i := range instances {
181+
if im.FilterAuthors == im.FilterPublishes || im.FilterAuthors && i.IsAuthor() || im.FilterPublishes && i.IsPublish() {
182+
result = append(result, i)
182183
}
183184
}
184185
sort.SliceStable(result, func(i, j int) bool {

0 commit comments

Comments
 (0)