terraform: test for ResourceAddress.stateId()
This commit is contained in:
parent
5828a0a9ac
commit
dcc3eb3011
|
@ -88,7 +88,6 @@ func (r *ResourceAddress) String() string {
|
|||
// stateId returns the ID that this resource should be entered with
|
||||
// in the state. This is also used for diffs. In the future, we'd like to
|
||||
// move away from this string field so I don't export this.
|
||||
// TODO: test
|
||||
func (r *ResourceAddress) stateId() string {
|
||||
result := fmt.Sprintf("%s.%s", r.Type, r.Name)
|
||||
switch r.Mode {
|
||||
|
|
|
@ -521,3 +521,52 @@ func TestResourceAddressEquals(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResourceAddressStateId(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
Input *ResourceAddress
|
||||
Expected string
|
||||
}{
|
||||
"basic resource": {
|
||||
&ResourceAddress{
|
||||
Mode: config.ManagedResourceMode,
|
||||
Type: "aws_instance",
|
||||
Name: "foo",
|
||||
InstanceType: TypePrimary,
|
||||
Index: -1,
|
||||
},
|
||||
"aws_instance.foo",
|
||||
},
|
||||
|
||||
"basic resource ignores count": {
|
||||
&ResourceAddress{
|
||||
Mode: config.ManagedResourceMode,
|
||||
Type: "aws_instance",
|
||||
Name: "foo",
|
||||
InstanceType: TypePrimary,
|
||||
Index: 2,
|
||||
},
|
||||
"aws_instance.foo",
|
||||
},
|
||||
|
||||
"data resource": {
|
||||
&ResourceAddress{
|
||||
Mode: config.DataResourceMode,
|
||||
Type: "aws_instance",
|
||||
Name: "foo",
|
||||
InstanceType: TypePrimary,
|
||||
Index: -1,
|
||||
},
|
||||
"data.aws_instance.foo",
|
||||
},
|
||||
}
|
||||
|
||||
for tn, tc := range cases {
|
||||
t.Run(tn, func(t *testing.T) {
|
||||
actual := tc.Input.stateId()
|
||||
if actual != tc.Expected {
|
||||
t.Fatalf("bad: %q\n\nexpected: %s\n\ngot: %s", tn, tc.Expected, actual)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue