Skip to content

Commit 1873a06

Browse files
author
Dominik Przybyl
committed
refactor
1 parent da1c5ae commit 1873a06

File tree

4 files changed

+23
-406
lines changed

4 files changed

+23
-406
lines changed

cmd/aem/instance_list_int_test.go

Lines changed: 15 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,12 @@ package main
44

55
import (
66
"github.com/wttech/aemc/pkg"
7-
"github.com/wttech/aemc/pkg/cfg"
8-
"os"
97
"sort"
108
"strings"
119
"testing"
1210
)
1311

1412
func testInstanceList(t *testing.T, args []string, expectedResult bool, expectedIDs []string) {
15-
if err := os.Setenv(cfg.FileEnvVar, "../../test/resources/aem.yml"); err != nil {
16-
t.Fatal(err)
17-
}
18-
1913
cli := NewCLI()
2014
cmd := cli.cmd
2115
cmd.SetArgs(args)
@@ -51,69 +45,45 @@ func testInstanceList(t *testing.T, args []string, expectedResult bool, expected
5145
}
5246

5347
func TestAllInstances(t *testing.T) {
54-
testInstanceList(t, []string{"instance", "list"}, true, []string{"local_author", "local_publish", "remote_author_dev-auth", "remote_publish_dev-pub1", "remote_publish_dev-pub2"})
48+
testInstanceList(t, []string{"instance", "list", "--output-value", "NONE"}, true, []string{"local_author", "local_publish"})
5549
}
5650

5751
func TestAuthorInstances(t *testing.T) {
58-
testInstanceList(t, []string{"instance", "list", "-A"}, true, []string{"local_author", "remote_author_dev-auth"})
52+
testInstanceList(t, []string{"instance", "list", "-A", "--output-value", "NONE"}, true, []string{"local_author"})
5953
}
6054

6155
func TestPublishInstances(t *testing.T) {
62-
testInstanceList(t, []string{"instance", "list", "-P"}, true, []string{"local_publish", "remote_publish_dev-pub1", "remote_publish_dev-pub2"})
63-
}
64-
65-
func TestLocalInstances(t *testing.T) {
66-
testInstanceList(t, []string{"instance", "list", "-L"}, true, []string{"local_author", "local_publish"})
56+
testInstanceList(t, []string{"instance", "list", "-P", "--output-value", "NONE"}, true, []string{"local_publish"})
6757
}
6858

69-
func TestLocalAuthorInstances(t *testing.T) {
70-
testInstanceList(t, []string{"instance", "list", "-L", "-A"}, true, []string{"local_author"})
71-
}
72-
73-
func TestRemoteInstances(t *testing.T) {
74-
testInstanceList(t, []string{"instance", "list", "-R"}, true, []string{"remote_author_dev-auth", "remote_publish_dev-pub1", "remote_publish_dev-pub2"})
75-
}
76-
77-
func TestRemotePublishInstances(t *testing.T) {
78-
testInstanceList(t, []string{"instance", "list", "-R", "-P"}, true, []string{"remote_publish_dev-pub1", "remote_publish_dev-pub2"})
59+
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"})
7961
}
8062

81-
func TestDevInstances(t *testing.T) {
82-
testInstanceList(t, []string{"instance", "list", "-C", "dev"}, true, []string{"remote_author_dev-auth", "remote_publish_dev-pub1", "remote_publish_dev-pub2"})
63+
func TestInstanceByURL(t *testing.T) {
64+
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"})
8365
}
8466

85-
func TestPublishDevInstances(t *testing.T) {
86-
testInstanceList(t, []string{"instance", "list", "-P", "-C", "dev"}, true, []string{"remote_publish_dev-pub1", "remote_publish_dev-pub2"})
67+
func TestAuthorInstanceByURL(t *testing.T) {
68+
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"})
8769
}
8870

89-
func TestInstanceByID(t *testing.T) {
90-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-I", "remote_publish_dev-pub2"}, true, []string{"local_author", "remote_publish_dev-pub2"})
71+
func TestPublishInstanceByURL(t *testing.T) {
72+
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"})
9173
}
9274

93-
func TestInstanceByURL(t *testing.T) {
94-
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"}, true, []string{"remote_adhoc_1", "remote_adhoc_2", "test_author"})
75+
func TestConflictAuthorAndPublish(t *testing.T) {
76+
testInstanceList(t, []string{"instance", "list", "-A", "-P"}, false, []string{})
9577
}
9678

9779
func TestConflictByIDAndAuthor(t *testing.T) {
9880
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-A"}, false, []string{})
9981
}
10082

101-
func TestConflictByIDAndLocal(t *testing.T) {
102-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-L"}, false, []string{})
103-
}
104-
105-
func TestConflictByIDAndClassifier(t *testing.T) {
106-
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-C", "dev"}, false, []string{})
83+
func TestConflictByIDAndPublish(t *testing.T) {
84+
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-P"}, false, []string{})
10785
}
10886

10987
func TestConflictIDAndURL(t *testing.T) {
11088
testInstanceList(t, []string{"instance", "list", "-I", "local_author", "-U", "http://admin:admin@127.0.0.1:4502"}, false, []string{})
11189
}
112-
113-
func TestConflictAuthorAndPublish(t *testing.T) {
114-
testInstanceList(t, []string{"instance", "list", "-A", "-P"}, false, []string{})
115-
}
116-
117-
func TestConflictAndLocalAndRemote(t *testing.T) {
118-
testInstanceList(t, []string{"instance", "list", "-L", "-R"}, false, []string{})
119-
}

cmd/aem/root.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,9 @@ 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.PersistentFlags().BoolP("instance-local", "L", cv.GetBool("instance.filter.locals"), "Use only AEM local instance(s)")
84-
_ = cv.BindPFlag("instance.filter.locals", cmd.PersistentFlags().Lookup("instance-local"))
85-
86-
cmd.PersistentFlags().BoolP("instance-remote", "R", cv.GetBool("instance.filter.remotes"), "Use only AEM remote instance(s)")
87-
_ = cv.BindPFlag("instance.filter.remotes", cmd.PersistentFlags().Lookup("instance-remote"))
88-
89-
cmd.PersistentFlags().StringP("instance-classifier-prefix", "C", cv.GetString("instance.filter.classifier-prefix"), "Use only AEM instance(s) with proper classifier prefix")
90-
_ = cv.BindPFlag("instance.filter.classifier-prefix", cmd.PersistentFlags().Lookup("instance-classifier-prefix"))
91-
92-
cmd.MarkFlagsMutuallyExclusive("instance-url", "instance-id", "instance-author", "instance-publish")
93-
cmd.MarkFlagsMutuallyExclusive("instance-url", "instance-id", "instance-local", "instance-remote")
94-
cmd.MarkFlagsMutuallyExclusive("instance-url", "instance-id", "instance-classifier-prefix")
83+
cmd.MarkFlagsMutuallyExclusive("instance-url", "instance-id")
84+
cmd.MarkFlagsMutuallyExclusive("instance-author", "instance-publish")
85+
cmd.MarkFlagsMutuallyExclusive("instance-id", "instance-author", "instance-publish")
9586

9687
cmd.PersistentFlags().String("instance-processing", cv.GetString("instance.processing_mode"), "Controls processing mode for instances ("+(strings.Join(instance.ProcessingModes(), "|")+")"))
9788
_ = cv.BindPFlag("instance.processing_mode", cmd.PersistentFlags().Lookup("instance-processing"))

pkg/instance_manager.go

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,10 @@ type InstanceManager struct {
2121

2222
AdHocURLs []string
2323

24-
FilterIDs []string
25-
FilterAuthors bool
26-
FilterPublishes bool
27-
FilterLocals bool
28-
FilterRemotes bool
29-
FilterClassifierPrefix string
30-
ProcessingMode string
24+
FilterIDs []string
25+
FilterAuthors bool
26+
FilterPublishes bool
27+
ProcessingMode string
3128
}
3229

3330
func NewInstanceManager(aem *AEM) *InstanceManager {
@@ -45,13 +42,6 @@ func NewInstanceManager(aem *AEM) *InstanceManager {
4542
result.FilterAuthors = true
4643
result.FilterPublishes = true
4744
}
48-
result.FilterLocals = cv.GetBool("instance.filter.locals")
49-
result.FilterRemotes = cv.GetBool("instance.filter.remotes")
50-
if !result.FilterLocals && !result.FilterRemotes {
51-
result.FilterLocals = true
52-
result.FilterRemotes = true
53-
}
54-
result.FilterClassifierPrefix = cv.GetString("instance.filter.classifier-prefix")
5545
result.ProcessingMode = cv.GetString("instance.processing_mode")
5646

5747
result.LocalOpts = NewLocalOpts(result)
@@ -190,10 +180,7 @@ func (im *InstanceManager) filter(instances []Instance) []Instance {
190180
}
191181
} else {
192182
for _, i := range instances {
193-
filterLocation := im.FilterAuthors && i.IsAuthor() || im.FilterPublishes && i.IsPublish() || i.IsAdHoc()
194-
filterRole := im.FilterLocals && i.IsLocal() || im.FilterRemotes && i.IsRemote()
195-
filterClassifier := strings.HasPrefix(i.IDInfo().Classifier, im.FilterClassifierPrefix)
196-
if filterLocation && filterRole && filterClassifier {
183+
if im.FilterAuthors && i.IsAuthor() || im.FilterPublishes && i.IsPublish() || i.IsAdHoc() {
197184
result = append(result, i)
198185
}
199186
}

0 commit comments

Comments
 (0)