89 lines
2.3 KiB
Go
89 lines
2.3 KiB
Go
|
// Copyright (C) 2019 Storj Labs, Inc.
|
||
|
// See LICENSE for copying information.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/require"
|
||
|
"go.uber.org/zap"
|
||
|
)
|
||
|
|
||
|
func TestMapConfigs(t *testing.T) {
|
||
|
log := zap.L()
|
||
|
|
||
|
cases := []struct {
|
||
|
testID string
|
||
|
newExternalAddr string
|
||
|
oldExternalAddr string
|
||
|
expectedAddr string
|
||
|
newWallet string
|
||
|
oldWallet string
|
||
|
expectedWallet string
|
||
|
newEmail string
|
||
|
oldEmail string
|
||
|
expectedEmail string
|
||
|
}{
|
||
|
{testID: "new and old present, use new",
|
||
|
newExternalAddr: "newAddr",
|
||
|
oldExternalAddr: "oldAddr",
|
||
|
expectedAddr: "newAddr",
|
||
|
newWallet: "newWallet",
|
||
|
oldWallet: "oldWallet",
|
||
|
expectedWallet: "newWallet",
|
||
|
newEmail: "newEmail",
|
||
|
oldEmail: "oldEmail",
|
||
|
expectedEmail: "newEmail",
|
||
|
},
|
||
|
{testID: "old present, new not, use old",
|
||
|
newExternalAddr: "",
|
||
|
oldExternalAddr: "oldAddr",
|
||
|
expectedAddr: "oldAddr",
|
||
|
newWallet: "",
|
||
|
oldWallet: "oldWallet",
|
||
|
expectedWallet: "oldWallet",
|
||
|
newEmail: "",
|
||
|
oldEmail: "oldEmail",
|
||
|
expectedEmail: "oldEmail",
|
||
|
},
|
||
|
{testID: "new present, old not, use new",
|
||
|
newExternalAddr: "newAddr",
|
||
|
oldExternalAddr: "",
|
||
|
expectedAddr: "newAddr",
|
||
|
newWallet: "newWallet",
|
||
|
oldWallet: "",
|
||
|
expectedWallet: "newWallet",
|
||
|
newEmail: "newEmail",
|
||
|
oldEmail: "",
|
||
|
expectedEmail: "newEmail",
|
||
|
},
|
||
|
{testID: "neither present",
|
||
|
newExternalAddr: "",
|
||
|
oldExternalAddr: "",
|
||
|
expectedAddr: "",
|
||
|
newWallet: "",
|
||
|
oldWallet: "",
|
||
|
expectedWallet: "",
|
||
|
newEmail: "",
|
||
|
oldEmail: "",
|
||
|
expectedEmail: "",
|
||
|
},
|
||
|
}
|
||
|
for _, c := range cases {
|
||
|
testCase := c
|
||
|
t.Run(testCase.testID, func(t *testing.T) {
|
||
|
runCfg.Contact.ExternalAddress = testCase.newExternalAddr
|
||
|
runCfg.Kademlia.ExternalAddress = testCase.oldExternalAddr
|
||
|
runCfg.Operator.Wallet = testCase.newWallet
|
||
|
runCfg.Kademlia.Operator.Wallet = testCase.oldWallet
|
||
|
runCfg.Operator.Email = testCase.newEmail
|
||
|
runCfg.Kademlia.Operator.Email = testCase.oldEmail
|
||
|
mapDeprecatedConfigs(log)
|
||
|
require.Equal(t, testCase.expectedAddr, runCfg.Contact.ExternalAddress)
|
||
|
require.Equal(t, testCase.expectedWallet, runCfg.Operator.Wallet)
|
||
|
require.Equal(t, testCase.expectedEmail, runCfg.Operator.Email)
|
||
|
})
|
||
|
}
|
||
|
}
|