test: force to have a reproducible context for oracle provider tests

This commit is contained in:
Fernandez Ludovic 2021-12-23 03:37:39 +01:00
parent 6907a39266
commit f4b153f26f

View file

@ -199,6 +199,9 @@ func TestNewDNSProvider(t *testing.T) {
} }
func TestNewDNSProviderConfig(t *testing.T) { func TestNewDNSProviderConfig(t *testing.T) {
envTest.ClearEnv()
defer envTest.RestoreEnv()
testCases := []struct { testCases := []struct {
desc string desc string
compartmentID string compartmentID string
@ -206,8 +209,8 @@ func TestNewDNSProviderConfig(t *testing.T) {
expected string expected string
}{ }{
{ {
desc: "invalid configuration", desc: "configuration provider error",
configurationProvider: &configProvider{}, configurationProvider: mockConfigurationProvider("wrong-secret"),
compartmentID: "123", compartmentID: "123",
expected: "oraclecloud: can not create client, bad configuration: x509: decryption password incorrect", expected: "oraclecloud: can not create client, bad configuration: x509: decryption password incorrect",
}, },
@ -218,6 +221,7 @@ func TestNewDNSProviderConfig(t *testing.T) {
}, },
{ {
desc: "missing CompartmentID", desc: "missing CompartmentID",
configurationProvider: mockConfigurationProvider("secret"),
expected: "oraclecloud: CompartmentID is missing", expected: "oraclecloud: CompartmentID is missing",
}, },
} }
@ -270,6 +274,24 @@ func TestLiveCleanUp(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
} }
func mockConfigurationProvider(keyPassphrase string) *configProvider {
envTest.Apply(map[string]string{
envPrivKey: mustGeneratePrivateKey("secret"),
})
return &configProvider{
values: map[string]string{
EnvCompartmentOCID: "test",
EnvPrivKeyPass: "test",
EnvTenancyOCID: "test",
EnvUserOCID: "test",
EnvPubKeyFingerprint: "test",
EnvRegion: "test",
},
privateKeyPassphrase: keyPassphrase,
}
}
func mustGeneratePrivateKey(pwd string) string { func mustGeneratePrivateKey(pwd string) string {
block, err := generatePrivateKey(pwd) block, err := generatePrivateKey(pwd)
if err != nil { if err != nil {