Merge "Remove the various Equals methods from pkg/config"

This commit is contained in:
Zuul 2020-03-26 22:43:09 +00:00 committed by Gerrit Code Review
commit cbc1e931ae
3 changed files with 0 additions and 222 deletions

View File

@ -23,7 +23,6 @@ import (
"os"
"path"
"path/filepath"
"reflect"
"sort"
"strings"
@ -741,29 +740,6 @@ func (c *Config) Purge() error {
return os.Remove(c.loadedConfigPath)
}
func (c *Config) Equal(d *Config) bool {
if d == nil {
return d == c
}
clusterEq := reflect.DeepEqual(c.Clusters, d.Clusters)
authInfoEq := reflect.DeepEqual(c.AuthInfos, d.AuthInfos)
contextEq := reflect.DeepEqual(c.Contexts, d.Contexts)
manifestEq := reflect.DeepEqual(c.Manifests, d.Manifests)
modulesEq := reflect.DeepEqual(c.ModulesConfig, d.ModulesConfig)
return c.Kind == d.Kind &&
c.APIVersion == d.APIVersion &&
clusterEq && authInfoEq && contextEq && manifestEq && modulesEq
}
// Cluster functions
func (c *Cluster) Equal(d *Cluster) bool {
if d == nil {
return d == c
}
return c.NameInKubeconf == d.NameInKubeconf &&
c.Bootstrap == d.Bootstrap
}
func (c *Cluster) String() string {
cyaml, err := yaml.Marshal(&c)
if err != nil {
@ -794,15 +770,6 @@ func (c *Cluster) SetKubeCluster(kc *clientcmdapi.Cluster) {
}
// Context functions
func (c *Context) Equal(d *Context) bool {
if d == nil {
return d == c
}
return c.NameInKubeconf == d.NameInKubeconf &&
c.Manifest == d.Manifest &&
c.context == d.context
}
func (c *Context) String() string {
cyaml, err := yaml.Marshal(&c)
if err != nil {
@ -839,13 +806,6 @@ func (c *Context) ClusterType() string {
}
// AuthInfo functions
func (c *AuthInfo) Equal(d *AuthInfo) bool {
if d == nil {
return c == d
}
return c.authInfo == d.authInfo
}
func (c *AuthInfo) String() string {
kauthinfo := c.KubeAuthInfo()
kyaml, err := yaml.Marshal(&kauthinfo)
@ -863,14 +823,6 @@ func (c *AuthInfo) SetKubeAuthInfo(kc *clientcmdapi.AuthInfo) {
}
// Manifest functions
func (m *Manifest) Equal(n *Manifest) bool {
if n == nil {
return n == m
}
reposEq := reflect.DeepEqual(m.Repositories, n.Repositories)
return reposEq && m.TargetPath == n.TargetPath && m.SubPath == n.SubPath
}
func (m *Manifest) String() string {
yamlData, err := yaml.Marshal(&m)
if err != nil {
@ -880,12 +832,6 @@ func (m *Manifest) String() string {
}
// Modules functions
func (m *Modules) Equal(n *Modules) bool {
if n == nil {
return n == m
}
return reflect.DeepEqual(m.BootstrapInfo, n.BootstrapInfo)
}
func (m *Modules) String() string {
yamlData, err := yaml.Marshal(&m)
if err != nil {
@ -895,15 +841,6 @@ func (m *Modules) String() string {
}
// Bootstrap functions
func (b *Bootstrap) Equal(c *Bootstrap) bool {
if c == nil {
return b == c
}
contEq := reflect.DeepEqual(b.Container, c.Container)
bldrEq := reflect.DeepEqual(b.Builder, c.Builder)
return contEq && bldrEq
}
func (b *Bootstrap) String() string {
yamlData, err := yaml.Marshal(&b)
if err != nil {
@ -913,15 +850,6 @@ func (b *Bootstrap) String() string {
}
// Container functions
func (c *Container) Equal(d *Container) bool {
if d == nil {
return d == c
}
return c.Volume == d.Volume &&
c.Image == d.Image &&
c.ContainerRuntime == d.ContainerRuntime
}
func (c *Container) String() string {
yamlData, err := yaml.Marshal(&c)
if err != nil {
@ -931,15 +859,6 @@ func (c *Container) String() string {
}
// Builder functions
func (b *Builder) Equal(c *Builder) bool {
if c == nil {
return b == c
}
return b.UserDataFileName == c.UserDataFileName &&
b.NetworkConfigFileName == c.NetworkConfigFileName &&
b.OutputMetadataFileName == c.OutputMetadataFileName
}
func (b *Builder) String() string {
yamlData, err := yaml.Marshal(&b)
if err != nil {

View File

@ -124,115 +124,6 @@ func TestPrettyString(t *testing.T) {
assert.EqualValues(t, cluster.PrettyString(), string(data))
}
func TestEqual(t *testing.T) {
t.Run("config-equal", func(t *testing.T) {
testConfig1 := config.NewConfig()
testConfig2 := config.NewConfig()
testConfig2.Kind = "Different"
assert.True(t, testConfig1.Equal(testConfig1))
assert.False(t, testConfig1.Equal(testConfig2))
assert.False(t, testConfig1.Equal(nil))
})
t.Run("cluster-equal", func(t *testing.T) {
testCluster1 := &config.Cluster{NameInKubeconf: "same"}
testCluster2 := &config.Cluster{NameInKubeconf: "different"}
assert.True(t, testCluster1.Equal(testCluster1))
assert.False(t, testCluster1.Equal(testCluster2))
assert.False(t, testCluster1.Equal(nil))
})
t.Run("context-equal", func(t *testing.T) {
testContext1 := &config.Context{NameInKubeconf: "same"}
testContext2 := &config.Context{NameInKubeconf: "different"}
assert.True(t, testContext1.Equal(testContext1))
assert.False(t, testContext1.Equal(testContext2))
assert.False(t, testContext1.Equal(nil))
})
// TODO(howell): this needs to be fleshed out when the AuthInfo type is finished
t.Run("authinfo-equal", func(t *testing.T) {
testAuthInfo1 := &config.AuthInfo{}
assert.True(t, testAuthInfo1.Equal(testAuthInfo1))
assert.False(t, testAuthInfo1.Equal(nil))
})
t.Run("manifest-equal", func(t *testing.T) {
testManifest1 := &config.Manifest{TargetPath: "same"}
testManifest2 := &config.Manifest{TargetPath: "different"}
assert.True(t, testManifest1.Equal(testManifest1))
assert.False(t, testManifest1.Equal(testManifest2))
assert.False(t, testManifest1.Equal(nil))
})
t.Run("repository-equal", func(t *testing.T) {
testRepository1 := &config.Repository{URLString: "same"}
testRepository2 := &config.Repository{URLString: "different"}
assert.True(t, testRepository1.Equal(testRepository1))
assert.False(t, testRepository1.Equal(testRepository2))
assert.False(t, testRepository1.Equal(nil))
})
t.Run("auth-equal", func(t *testing.T) {
testSpec1 := &config.RepoAuth{}
testSpec2 := &config.RepoAuth{}
testSpec2.Type = "ssh-key"
assert.True(t, testSpec1.Equal(testSpec1))
assert.False(t, testSpec1.Equal(testSpec2))
assert.False(t, testSpec1.Equal(nil))
})
t.Run("checkout-equal", func(t *testing.T) {
testSpec1 := &config.RepoCheckout{}
testSpec2 := &config.RepoCheckout{}
testSpec2.Branch = "Master"
assert.True(t, testSpec1.Equal(testSpec1))
assert.False(t, testSpec1.Equal(testSpec2))
assert.False(t, testSpec1.Equal(nil))
})
t.Run("modules-equal", func(t *testing.T) {
testModules1 := config.NewModules()
testModules2 := config.NewModules()
testModules2.BootstrapInfo["different"] = &config.Bootstrap{
Container: &config.Container{Volume: "different"},
}
assert.True(t, testModules1.Equal(testModules1))
assert.False(t, testModules1.Equal(testModules2))
assert.False(t, testModules1.Equal(nil))
})
t.Run("bootstrap-equal", func(t *testing.T) {
testBootstrap1 := &config.Bootstrap{
Container: &config.Container{
Image: "same",
},
}
testBootstrap2 := &config.Bootstrap{
Container: &config.Container{
Image: "different",
},
}
assert.True(t, testBootstrap1.Equal(testBootstrap1))
assert.False(t, testBootstrap1.Equal(testBootstrap2))
assert.False(t, testBootstrap1.Equal(nil))
})
t.Run("container-equal", func(t *testing.T) {
testContainer1 := &config.Container{Image: "same"}
testContainer2 := &config.Container{Image: "different"}
assert.True(t, testContainer1.Equal(testContainer1))
assert.False(t, testContainer1.Equal(testContainer2))
assert.False(t, testContainer1.Equal(nil))
})
t.Run("builder-equal", func(t *testing.T) {
testBuilder1 := &config.Builder{UserDataFileName: "same"}
testBuilder2 := &config.Builder{UserDataFileName: "different"}
assert.True(t, testBuilder1.Equal(testBuilder1))
assert.False(t, testBuilder1.Equal(testBuilder2))
assert.False(t, testBuilder1.Equal(nil))
})
}
func TestLoadConfig(t *testing.T) {
conf, cleanup := testutil.InitConfig(t)
defer cleanup(t)

View File

@ -2,7 +2,6 @@ package config
import (
"fmt"
"reflect"
"gopkg.in/src-d/go-git.v4"
"gopkg.in/src-d/go-git.v4/plumbing"
@ -22,16 +21,6 @@ const (
// RepoCheckout methods
func (c *RepoCheckout) Equal(s *RepoCheckout) bool {
if s == nil {
return s == c
}
return c.CommitHash == s.CommitHash &&
c.Branch == s.Branch &&
c.Tag == s.Tag &&
c.RemoteRef == s.RemoteRef
}
func (c *RepoCheckout) String() string {
yaml, err := yaml.Marshal(&c)
if err != nil {
@ -62,17 +51,6 @@ var (
AllowedAuthTypes = []string{SSHAuth, SSHPass, HTTPBasic}
)
func (auth *RepoAuth) Equal(s *RepoAuth) bool {
if s == nil {
return s == auth
}
return auth.Type == s.Type &&
auth.KeyPassword == s.KeyPassword &&
auth.KeyPath == s.KeyPath &&
auth.SSHPassword == s.SSHPassword &&
auth.Username == s.Username
}
func (auth *RepoAuth) String() string {
yaml, err := yaml.Marshal(&auth)
if err != nil {
@ -113,16 +91,6 @@ func stringInSlice(a string, list []string) bool {
}
// Repository functions
// Equal compares repository specs
func (repo *Repository) Equal(s *Repository) bool {
if s == nil {
return s == repo
}
return repo.URLString == s.URLString &&
reflect.DeepEqual(s.Auth, repo.Auth) &&
reflect.DeepEqual(s.CheckoutOptions, repo.CheckoutOptions)
}
func (repo *Repository) String() string {
yaml, err := yaml.Marshal(&repo)