feat(iaas): add iaas network v2 alpha (#899)
* add experimental network v2
This commit is contained in:
parent
a00b0466d5
commit
d9dc1d4495
28 changed files with 3777 additions and 923 deletions
|
|
@ -21,7 +21,7 @@ func TestValidExperiment(t *testing.T) {
|
|||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
experiment: "iam",
|
||||
experiment: IamExperiment,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
want: true,
|
||||
|
|
@ -64,9 +64,9 @@ func TestCheckExperimentEnabled(t *testing.T) {
|
|||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{"iam"},
|
||||
Experiments: []string{IamExperiment},
|
||||
},
|
||||
experiment: "iam",
|
||||
experiment: IamExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
|
|
@ -80,7 +80,7 @@ func TestCheckExperimentEnabled(t *testing.T) {
|
|||
data: &core.ProviderData{
|
||||
Experiments: []string{},
|
||||
},
|
||||
experiment: "iam",
|
||||
experiment: IamExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
|
|
@ -92,7 +92,7 @@ func TestCheckExperimentEnabled(t *testing.T) {
|
|||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{"iam"},
|
||||
Experiments: []string{IamExperiment},
|
||||
},
|
||||
experiment: "foobar",
|
||||
resourceType: core.Resource,
|
||||
|
|
@ -101,6 +101,34 @@ func TestCheckExperimentEnabled(t *testing.T) {
|
|||
wantDiagsErr: true,
|
||||
wantDiagsWarning: false,
|
||||
},
|
||||
{
|
||||
name: "enabled multiple experiment",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment, NetworkExperiment, RoutingTablesExperiment},
|
||||
},
|
||||
experiment: NetworkExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantDiagsErr: false,
|
||||
wantDiagsWarning: true,
|
||||
},
|
||||
{
|
||||
name: "enabled multiple experiment - without the required experiment",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment, RoutingTablesExperiment},
|
||||
},
|
||||
experiment: NetworkExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantDiagsErr: true,
|
||||
wantDiagsWarning: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
@ -114,3 +142,111 @@ func TestCheckExperimentEnabled(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckExperimentEnabledWithoutError(t *testing.T) {
|
||||
type args struct {
|
||||
ctx context.Context
|
||||
data *core.ProviderData
|
||||
experiment string
|
||||
resourceName string
|
||||
resourceType core.ResourceType
|
||||
diags *diag.Diagnostics
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantEnabled bool
|
||||
wantDiagsErr bool
|
||||
wantDiagsWarning bool
|
||||
}{
|
||||
|
||||
{
|
||||
name: "enabled",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment},
|
||||
},
|
||||
experiment: IamExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantEnabled: true,
|
||||
wantDiagsErr: false,
|
||||
wantDiagsWarning: true,
|
||||
},
|
||||
{
|
||||
name: "disabled - no error",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{},
|
||||
},
|
||||
experiment: NetworkExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantEnabled: false,
|
||||
wantDiagsErr: false,
|
||||
wantDiagsWarning: false,
|
||||
},
|
||||
{
|
||||
name: "invalid experiment",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment},
|
||||
},
|
||||
experiment: "foobar",
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantEnabled: false,
|
||||
wantDiagsErr: true,
|
||||
wantDiagsWarning: false,
|
||||
},
|
||||
{
|
||||
name: "enabled multiple experiment",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment, NetworkExperiment, RoutingTablesExperiment},
|
||||
},
|
||||
experiment: NetworkExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantEnabled: true,
|
||||
wantDiagsErr: false,
|
||||
wantDiagsWarning: true,
|
||||
},
|
||||
{
|
||||
name: "enabled multiple experiment - without the required experiment",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
data: &core.ProviderData{
|
||||
Experiments: []string{IamExperiment, RoutingTablesExperiment},
|
||||
},
|
||||
experiment: NetworkExperiment,
|
||||
resourceType: core.Resource,
|
||||
diags: &diag.Diagnostics{},
|
||||
},
|
||||
wantEnabled: false,
|
||||
wantDiagsErr: false,
|
||||
wantDiagsWarning: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := CheckExperimentEnabledWithoutError(tt.args.ctx, tt.args.data, tt.args.experiment, tt.args.resourceName, tt.args.resourceType, tt.args.diags); got != tt.wantEnabled {
|
||||
t.Errorf("CheckExperimentEnabledWithoutError() = %v, want %v", got, tt.wantEnabled)
|
||||
}
|
||||
if got := tt.args.diags.HasError(); got != tt.wantDiagsErr {
|
||||
t.Errorf("CheckExperimentEnabled() diags.HasError() = %v, want %v", got, tt.wantDiagsErr)
|
||||
}
|
||||
if got := tt.args.diags.WarningsCount() > 0; got != tt.wantDiagsWarning {
|
||||
t.Errorf("CheckExperimentEnabled() diags.WarningsCount() > 0 = %v, want %v", got, tt.wantDiagsErr)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue