Skip to content

Commit 77840f9

Browse files
committed
add missing unit test
1 parent f528a73 commit 77840f9

File tree

5 files changed

+416
-44
lines changed

5 files changed

+416
-44
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package resourcediscovery
5+
6+
import (
7+
"testing"
8+
)
9+
10+
// issue-routing-tag: terraform/default
11+
func TestUnit_getValidDbVersion(t *testing.T) {
12+
type args struct {
13+
dbVersion string
14+
}
15+
tests := []struct {
16+
name string
17+
args args
18+
want string
19+
}{
20+
{
21+
"version_pre_18",
22+
args{"11.2.0.4.200414"},
23+
"11.2.0.4.200414",
24+
},
25+
{
26+
"version_18_no_psu",
27+
args{"18.8.0.0"},
28+
"18.8.0.0",
29+
},
30+
{
31+
"version_19_no_psu",
32+
args{"19.8.0.0"},
33+
"19.8.0.0",
34+
},
35+
{
36+
"version_19_with_psu",
37+
args{"19.5.0.0.200414"},
38+
"19.5.0.0",
39+
},
40+
{
41+
"version_20_with_psu",
42+
args{"20.0.0.0.200414"},
43+
"20.0.0.0",
44+
},
45+
}
46+
for _, tt := range tests {
47+
t.Run(tt.name, func(t *testing.T) {
48+
if got := getValidDbVersion(tt.args.dbVersion); got != tt.want {
49+
t.Errorf("getValidDbVersion() = %v, want %v", got, tt.want)
50+
}
51+
})
52+
}
53+
}

internal/service/database/database_db_home_resource.go

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"context"
88
"fmt"
99
"log"
10-
"strconv"
1110
"strings"
1211
"time"
1312

@@ -451,7 +450,7 @@ func (s *DatabaseDbHomeResourceCrud) Create() error {
451450

452451
// Special override to ensure that CreateDbHome retries for the duration of the Terraform configured Create timeout
453452
// The underlying db system or vm cluster may be in an updating state. So keep retrying the CreateDbHome.
454-
createDbHomeRetryDurationFn := getDbHomeRetryDurationFunction(s.D.Timeout(schema.TimeoutCreate))
453+
createDbHomeRetryDurationFn := tfresource.GetDbHomeRetryDurationFunction(s.D.Timeout(schema.TimeoutCreate))
455454

456455
request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "database", createDbHomeRetryDurationFn)
457456

@@ -616,7 +615,7 @@ func (s *DatabaseDbHomeResourceCrud) Delete() error {
616615

617616
// Special override to ensure that DeleteDbHome retries for the duration of the Terraform configured Create timeout
618617
// The underlying db system or vm cluster may be in an updating state. So keep retrying it.
619-
deleteDbHomeRetryDurationFn := getDbHomeRetryDurationFunction(s.D.Timeout(schema.TimeoutDelete))
618+
deleteDbHomeRetryDurationFn := tfresource.GetDbHomeRetryDurationFunction(s.D.Timeout(schema.TimeoutDelete))
620619
request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "database", deleteDbHomeRetryDurationFn)
621620

622621
dbErr := s.deleteNestedDB()
@@ -1404,30 +1403,3 @@ func (s *DatabaseDbHomeResourceCrud) mapToUpdateDbBackupConfig(fieldKeyFormat st
14041403

14051404
return result, nil
14061405
}
1407-
1408-
func getDbHomeRetryDurationFunction(retryTimeout time.Duration) expectedRetryDurationFn {
1409-
return func(response oci_common.OCIOperationResponse, disableNotFoundRetries bool, service string, optionals ...interface{}) time.Duration {
1410-
defaultRetryTime := tfresource.GetDefaultExpectedRetryDuration(response, disableNotFoundRetries)
1411-
if response.Response == nil || response.Response.HTTPResponse() == nil {
1412-
return defaultRetryTime
1413-
}
1414-
e := response.Error
1415-
switch statusCode := response.Response.HTTPResponse().StatusCode; statusCode {
1416-
case 409:
1417-
if isDisable409Retry, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("disable_409_retry", "false")); isDisable409Retry {
1418-
log.Printf("[ERROR] Resource is in conflict state due to multiple update request: %v", e.Error())
1419-
return 0
1420-
}
1421-
if e := response.Error; e != nil {
1422-
if strings.Contains(e.Error(), "IncorrectState") {
1423-
defaultRetryTime = retryTimeout
1424-
} else if strings.Contains(e.Error(), "InvalidatedRetryToken") {
1425-
defaultRetryTime = 0
1426-
} else {
1427-
defaultRetryTime = tfresource.LongRetryTime
1428-
}
1429-
}
1430-
}
1431-
return defaultRetryTime
1432-
}
1433-
}

0 commit comments

Comments
 (0)