Skip to content

Commit

Permalink
rearrange interfaces and structs
Browse files Browse the repository at this point in the history
  • Loading branch information
drlau committed Jan 30, 2021
1 parent b69a737 commit 41f64a9
Show file tree
Hide file tree
Showing 18 changed files with 473 additions and 563 deletions.
39 changes: 19 additions & 20 deletions cmd/akashi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"github.com/drlau/akashi/pkg/compare"
comparefakes "github.com/drlau/akashi/pkg/compare/fakes"
"github.com/drlau/akashi/pkg/plan"
planfakes "github.com/drlau/akashi/pkg/plan/fakes"
)

func TestRunCompare(t *testing.T) {
Expand All @@ -24,7 +23,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -39,7 +38,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -54,7 +53,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
NameReturns: "name",
TypeReturns: "type",
},
Expand All @@ -68,12 +67,12 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -91,12 +90,12 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand Down Expand Up @@ -134,7 +133,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address",
NameReturns: "name",
Expand All @@ -152,7 +151,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address",
NameReturns: "name",
Expand All @@ -169,7 +168,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
AddressReturns: "address",
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -186,7 +185,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
AddressReturns: "address",
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -206,13 +205,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -234,13 +233,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -262,13 +261,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -293,13 +292,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand Down
15 changes: 7 additions & 8 deletions pkg/cmd/compare/compare_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"github.com/drlau/akashi/pkg/compare"
comparefakes "github.com/drlau/akashi/pkg/compare/fakes"
"github.com/drlau/akashi/pkg/plan"
planfakes "github.com/drlau/akashi/pkg/plan/fakes"
)

func TestRunCompare(t *testing.T) {
Expand All @@ -22,7 +21,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -37,7 +36,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -52,7 +51,7 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
NameReturns: "name",
TypeReturns: "type",
},
Expand All @@ -66,12 +65,12 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -89,12 +88,12 @@ func TestRunCompare(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
NameReturns: "name",
TypeReturns: "type",
Expand Down
25 changes: 12 additions & 13 deletions pkg/cmd/diff/diff_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"github.com/drlau/akashi/pkg/compare"
comparefakes "github.com/drlau/akashi/pkg/compare/fakes"
"github.com/drlau/akashi/pkg/plan"
planfakes "github.com/drlau/akashi/pkg/plan/fakes"
)

func TestRunDiff(t *testing.T) {
Expand All @@ -27,7 +26,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address",
NameReturns: "name",
Expand All @@ -46,7 +45,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address",
NameReturns: "name",
Expand All @@ -64,7 +63,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
AddressReturns: "address",
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -82,7 +81,7 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
AddressReturns: "address",
NameReturns: "name",
TypeReturns: "type",
Expand All @@ -102,13 +101,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -131,13 +130,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -160,13 +159,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand All @@ -191,13 +190,13 @@ func TestRunDiff(t *testing.T) {
},
},
resourceChange: []plan.ResourceChange{
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
CreateReturns: true,
AddressReturns: "address1",
NameReturns: "name",
TypeReturns: "type",
},
&planfakes.FakeResourceChange{
&comparefakes.FakeResourceChange{
DeleteReturns: true,
AddressReturns: "address2",
NameReturns: "name",
Expand Down
28 changes: 28 additions & 0 deletions pkg/compare/compare.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,38 @@
package compare

import (
"fmt"

"github.com/drlau/akashi/pkg/plan"
"github.com/drlau/akashi/pkg/resource"
)

type ResourceChange interface {
IsCreate() bool
IsDelete() bool
IsNoOp() bool
IsUpdate() bool
GetBefore() map[string]interface{}
GetAfter() map[string]interface{}
GetBeforeChangedOnly() map[string]interface{}
GetAfterChangedOnly() map[string]interface{}
GetComputed() map[string]interface{}
GetName() string
GetType() string
GetAddress() string
}

type Resource interface {
CompareResult(map[string]interface{}) *resource.CompareResult
Compare(resource.ResourceValues) bool
Diff(resource.ResourceValues) string
}

type Comparer interface {
Compare(plan.ResourceChange) bool
Diff(plan.ResourceChange) (string, bool)
}

func constructNameTypeKey(r ResourceChange) string {
return fmt.Sprintf("%s.%s", r.GetType(), r.GetName())
}
Loading

0 comments on commit 41f64a9

Please sign in to comment.