chore(pkg): refactor: finer tests conversions to testify part 3

refactor: finer tests conversions to testify in pkg/cmd
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
pull/32467/head
Matthieu MOREL 6 days ago
parent 39231d01e1
commit 9a2be11e6f

@ -420,9 +420,7 @@ func TestInstallRelease_WithChartAndDependencyAllNotes(t *testing.T) {
req.NoError(err)
is.Equal("with-notes", rel.Name)
// test run can return as either 'parent\nchild' or 'child\nparent'
if !strings.Contains(rel.Info.Notes, "parent") && !strings.Contains(rel.Info.Notes, "child") {
t.Fatalf("Expected 'parent\nchild' or 'child\nparent', got '%s'", rel.Info.Notes)
}
req.True(strings.Contains(rel.Info.Notes, "parent") || strings.Contains(rel.Info.Notes, "child"), "Expected 'parent\nchild' or 'child\nparent', got '%s'", rel.Info.Notes)
is.Equal("Install complete", rel.Info.Description)
}
@ -1096,7 +1094,7 @@ func TestInstallCRDs(t *testing.T) {
mockChart := buildChart(withFile(mockFile))
crdsToInstall := mockChart.CRDObjects()
assert.Len(t, crdsToInstall, 1)
require.Len(t, crdsToInstall, 1)
assert.Equal(t, crdsToInstall[0].File.Data, mockFile.Data)
require.NoError(t, instAction.installCRDs(crdsToInstall))
}

@ -106,10 +106,8 @@ func TestNonExistentChart(t *testing.T) {
testLint := NewLint()
result := testLint.Run(testCharts, values)
assert.Len(t, result.Errors, 1, "expected one error, but got", len(result.Errors))
actual := result.Errors[0].Error()
assert.EqualError(t, result.Errors[0], expectedError, "expected '%s', but got '%s'", expectedError, actual)
require.Len(t, result.Errors, 1, "expected one error, but got", len(result.Errors))
assert.EqualError(t, result.Errors[0], expectedError)
})
t.Run("should error out for corrupted tgz chart", func(t *testing.T) {
@ -118,10 +116,8 @@ func TestNonExistentChart(t *testing.T) {
testLint := NewLint()
result := testLint.Run(testCharts, values)
assert.Len(t, result.Errors, 1, "expected one error, but got", len(result.Errors))
actual := result.Errors[0].Error()
assert.EqualError(t, result.Errors[0], expectedEOFError, "expected '%s', but got '%s'", expectedEOFError, actual)
require.Len(t, result.Errors, 1, "expected one error, but got", len(result.Errors))
assert.EqualError(t, result.Errors[0], expectedEOFError)
})
}

@ -132,7 +132,7 @@ func TestRequireAdoption(t *testing.T) {
// Verify that a resource that lacks labels/annotations can be adopted
found, err := requireAdoption(resources)
require.NoError(t, err)
assert.Len(t, found, 1)
require.Len(t, found, 1)
assert.Equal(t, found[0], existing)
assert.NotSame(t, found[0], existing)
}
@ -157,7 +157,7 @@ func TestExistingResourceConflict(t *testing.T) {
// Verify only existing resources are returned
found, err := existingResourceConflict(resources, releaseName, releaseNamespace)
require.NoError(t, err)
assert.Len(t, found, 1)
require.Len(t, found, 1)
assert.Equal(t, found[0], existing)
assert.NotSame(t, found[0], existing)
@ -242,8 +242,8 @@ func TestVerifyOwnershipBeforeDelete(t *testing.T) {
ownedList, unownedList, _, err := verifyOwnershipBeforeDelete(resources, releaseName, releaseNamespace)
require.NoError(t, err)
assert.Len(t, ownedList, 1)
assert.Len(t, unownedList, 1)
require.Len(t, ownedList, 1)
require.Len(t, unownedList, 1)
assert.Equal(t, "owned", ownedList[0].Name)
assert.Equal(t, "unowned", unownedList[0].Name)
})
@ -290,8 +290,8 @@ func TestVerifyOwnershipBeforeDelete(t *testing.T) {
ownedList, unownedList, _, err := verifyOwnershipBeforeDelete(resources, releaseName, releaseNamespace)
require.NoError(t, err)
assert.Len(t, ownedList, 1)
assert.Len(t, unownedList, 1)
require.Len(t, ownedList, 1)
require.Len(t, unownedList, 1)
assert.Equal(t, "owned", ownedList[0].Name)
assert.Equal(t, "unowned", unownedList[0].Name)
})

@ -372,8 +372,7 @@ func TestMergeValues(t *testing.T) {
assert.True(t, ok, "Expected nested boat key to be present but it was removed")
subchart := v["pequod"].(map[string]any)["ahab"].(map[string]any)
_, ok = subchart["boat"]
assert.True(t, ok, "Expected subchart boat key to be present but it was removed")
assert.Contains(t, subchart, "boat", "Expected subchart boat key to be present but it was removed")
_, ok = subchart["nested"].(map[string]any)["bar"]
assert.True(t, ok, "Expected subchart nested bar key to be present but it was removed")
@ -526,8 +525,7 @@ func TestMergeTables(t *testing.T) {
// This is one test that is different from CoalesceTables. Because hole
// is a nil value and it's not removed it's still present.
_, ok = dst["hole"]
assert.True(t, ok, "The hole no longer exists.")
assert.Contains(t, dst, "hole", "The hole no longer exists.")
dst2 := map[string]any{
"name": "Ishmael",
@ -559,8 +557,7 @@ func TestMergeTables(t *testing.T) {
det2, ok := dst2["details"].(map[string]any)
require.Truef(t, ok, "Details is the wrong type: %v", dst2["details"])
_, ok = det2["friends"]
assert.True(t, ok, "Could not find your friends. Maybe you don't have any. :-(")
assert.Contains(t, det2, "friends", "Could not find your friends. Maybe you don't have any. :-(")
assert.Equal(t, "pequod", dst2["boat"].(string), "Expected boat string, got %v", dst2["boat"])
assert.Equal(t, "black", dst2["hole"].(string), "Expected hole string, got %v", dst2["hole"])
assert.Nil(t, dst2["nilval"], "Expected nilvalue to have nil value but it does not")
@ -659,8 +656,7 @@ func TestCoalesceValuesEmptyMapWithNils(t *testing.T) {
is.Equal("bar", data["foo"])
// "baz" should be preserved with nil value since it wasn't in chart defaults
_, ok = data["baz"]
is.True(ok, "Expected data.baz key to be present but it was removed")
is.Contains(data, "baz", "Expected data.baz key to be present but it was removed")
is.Nil(data["baz"], "Expected data.baz key to be nil but it is not")
}

@ -195,7 +195,6 @@ func TestChartfile(t *testing.T) {
expectedNumberOfErrorMessages := 7
require.Lenf(t, msgs, expectedNumberOfErrorMessages, "Expected %d errors, got %d", expectedNumberOfErrorMessages, len(msgs))
require.ErrorContains(t, msgs[0].Err, "name is required", "Unexpected message 0: %s", msgs[0].Err)
require.ErrorContains(t, msgs[1].Err, "apiVersion is required. The value must be either \"v1\" or \"v2\"", "Unexpected message 1: %s", msgs[1].Err)
require.ErrorContains(t, msgs[2].Err, "version '0.0.0.0' is not a valid SemVer", "Unexpected message 2: %s", msgs[2].Err)
@ -211,11 +210,7 @@ func TestChartfile(t *testing.T) {
msgs := linter.Messages
expectedNumberOfErrorMessages := 4
if len(msgs) != expectedNumberOfErrorMessages {
t.Errorf("Expected %d errors, got %d", expectedNumberOfErrorMessages, len(msgs))
return
}
require.Len(t, msgs, expectedNumberOfErrorMessages, "Expected %d errors, got %d", expectedNumberOfErrorMessages, len(msgs))
require.ErrorContains(t, msgs[0].Err, "version should be of type string", "Unexpected message 0: %s", msgs[0].Err)
require.ErrorContains(t, msgs[1].Err, "version '7.2445e+06' is not a valid SemVer", "Unexpected message 1: %s", msgs[1].Err)
require.ErrorContains(t, msgs[2].Err, "appVersion should be of type string", "Unexpected message 2: %s", msgs[2].Err)

@ -22,6 +22,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"helm.sh/helm/v4/pkg/chart/v2/lint/support"
)
@ -33,7 +34,7 @@ func TestInvalidCrdsDir(t *testing.T) {
Crds(&linter)
res := linter.Messages
assert.Len(t, res, 1)
require.Len(t, res, 1)
assert.ErrorContains(t, res[0].Err, "not a directory")
}

@ -140,8 +140,7 @@ func TestDependencies(t *testing.T) {
linter := support.Linter{ChartDir: filepath.Join(tmp, c.Metadata.Name)}
Dependencies(&linter)
if l := len(linter.Messages); l != 2 {
t.Errorf("expected 2 linter errors for bad chart dependencies. Got %d.", l)
if !assert.Len(t, linter.Messages, 2, "expected 2 linter errors for bad chart dependencies") {
for i, msg := range linter.Messages {
t.Logf("Message: %d, Error: %#v", i, msg)
}

@ -58,11 +58,11 @@ func TestRunLinterRule(t *testing.T) {
func TestMessage(t *testing.T) {
m := Message{ErrorSev, "Chart.yaml", errors.New("Foo")}
require.EqualErrorf(t, m, "[ERROR] Chart.yaml: Foo", "Unexpected output: %s", m.Error())
require.EqualError(t, m, "[ERROR] Chart.yaml: Foo")
m = Message{WarningSev, "templates/", errors.New("Bar")}
require.EqualErrorf(t, m, "[WARNING] templates/: Bar", "Unexpected output: %s", m.Error())
require.EqualError(t, m, "[WARNING] templates/: Bar")
m = Message{InfoSev, "templates/rc.yaml", errors.New("FooBar")}
assert.EqualErrorf(t, m, "[INFO] templates/rc.yaml: FooBar", "Unexpected output: %s", m.Error())
assert.EqualError(t, m, "[INFO] templates/rc.yaml: FooBar")
}

@ -49,12 +49,8 @@ func verifyChartfile(t *testing.T, f *chart.Metadata, name string) {
assert.Equal(t, "https://example.com/64x64.png", f.Icon, "Unexpected icon: %q", f.Icon)
assert.Len(t, f.Keywords, 3, "Unexpected keywords")
require.Len(t, f.Annotations, 2, "Unexpected annotations")
want, got := "extravalue", f.Annotations["extrakey"]
assert.Equalf(t, want, got, "Want %q, but got %q", want, got)
want, got = "anothervalue", f.Annotations["anotherkey"]
assert.Equalf(t, want, got, "Want %q, but got %q", want, got)
assert.Equal(t, "extravalue", f.Annotations["extrakey"])
assert.Equal(t, "anothervalue", f.Annotations["anotherkey"])
kk := []string{"frobnitz", "sprocket", "dodad"}
for i, k := range f.Keywords {

@ -138,8 +138,11 @@ func TestValidateChartName(t *testing.T) {
"abcdefghijklmnopqrstuvwxyz-_." +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ-_.": false,
} {
if err := validateChartName(name); (err != nil) == shouldPass {
t.Errorf("test for %q failed", name)
err := validateChartName(name)
if shouldPass {
assert.NoError(t, err)
} else {
assert.Error(t, err)
}
}
}

@ -43,7 +43,7 @@ func TestLoadDependency(t *testing.T) {
}
check := func(deps []*chart.Dependency) {
assert.Len(t, deps, 2, "expected 2 dependencies, got %d", len(deps))
require.Len(t, deps, 2, "expected 2 dependencies, got %d", len(deps))
for i, tt := range tests {
assert.Equal(t, tt.Name, deps[i].Name, "expected dependency named %q, got %q", tt.Name, deps[i].Name)
assert.Equal(t, tt.Version, deps[i].Version, "expected dependency named %q to have version %q, got %q", tt.Name, tt.Version, deps[i].Version)

@ -18,9 +18,9 @@ package cmd
import (
"fmt"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
chart "helm.sh/helm/v4/pkg/chart/v2"
@ -47,13 +47,10 @@ func checkFileCompletion(t *testing.T, cmdName string, shouldBePerformed bool) {
testcmd := fmt.Sprintf("__complete %s ''", cmdName)
_, out, err := executeActionCommandC(storage, testcmd)
require.NoError(t, err)
if !strings.Contains(out, "ShellCompDirectiveNoFileComp") != shouldBePerformed {
if shouldBePerformed {
t.Errorf("Unexpected directive ShellCompDirectiveNoFileComp when completing '%s'", cmdName)
} else {
t.Errorf("Did not receive directive ShellCompDirectiveNoFileComp when completing '%s'", cmdName)
}
t.Log(out)
if shouldBePerformed {
assert.NotContains(t, out, "ShellCompDirectiveNoFileComp", "Unexpected directive ShellCompDirectiveNoFileComp when completing '%s'", cmdName)
} else {
assert.Contains(t, out, "ShellCompDirectiveNoFileComp", "Did not receive directive ShellCompDirectiveNoFileComp when completing '%s'", cmdName)
}
}

@ -48,10 +48,10 @@ func TestRepoIndexCmd(t *testing.T) {
index, err := repo.LoadIndexFile(destIndex)
require.NoError(t, err)
assert.Len(t, index.Entries, 1, "expected 1 entry, got %d: %#v", len(index.Entries), index.Entries)
require.Len(t, index.Entries, 1, "expected 1 entry, got %d: %#v", len(index.Entries), index.Entries)
vs := index.Entries["compressedchart"]
assert.Len(t, vs, 2, "expected 2 versions, got %d: %#v", len(vs), vs)
require.Len(t, vs, 2, "expected 2 versions")
expectedVersion := "0.2.0"
assert.Equal(t, expectedVersion, vs[0].Version, "expected %q, got %q", expectedVersion, vs[0].Version)

@ -174,10 +174,8 @@ func TestUpdateChartsFailWithError(t *testing.T) {
b := bytes.NewBuffer(nil)
err = updateCharts([]*repo.ChartRepository{r1, r2}, b)
require.Error(t, err, "Repo update should return error because update of repository fails and 'fail-on-repo-update-fail' flag set")
var expectedErr = "failed to update the following repositories"
var receivedErr = err.Error()
require.ErrorContains(t, err, expectedErr, "Expected error (%s) but got (%s) instead", expectedErr, receivedErr)
require.ErrorContains(t, err, invalidURL, "Expected invalid URL (%s) in error message but got (%s) instead", invalidURL, receivedErr)
require.ErrorContains(t, err, "failed to update the following repositories")
require.ErrorContains(t, err, invalidURL)
got := b.String()
assert.Contains(t, got, "Unable to get an update", "Repo should have failed update but instead got: %q", got)

@ -18,7 +18,6 @@ package cmd
import (
"fmt"
"reflect"
"testing"
"github.com/stretchr/testify/assert"
@ -161,5 +160,5 @@ func TestRollbackWithLabels(t *testing.T) {
updatedRel, err := releaserToV1Release(updatedReli)
require.NoError(t, err)
assert.Truef(t, reflect.DeepEqual(updatedRel.Labels, labels1), "Expected {%v}, got {%v}", labels1, updatedRel.Labels)
assert.Equalf(t, updatedRel.Labels, labels1, "Expected {%v}, got {%v}", labels1, updatedRel.Labels)
}

@ -46,11 +46,7 @@ func TestSearchHubCmd(t *testing.T) {
storage := storageFixture()
_, out, err := executeActionCommandC(storage, testcmd)
require.NoError(t, err)
if out != expected {
t.Error("expected and actual output did not match")
t.Log(out)
t.Log(expected)
}
assert.Equal(t, expected, out, "expected and actual output did not match")
}
func TestSearchHubListRepoCmd(t *testing.T) {
@ -73,11 +69,7 @@ func TestSearchHubListRepoCmd(t *testing.T) {
storage := storageFixture()
_, out, err := executeActionCommandC(storage, testcmd)
require.NoError(t, err)
if out != expected {
t.Error("expected and actual output did not match")
t.Log(out)
t.Log(expected)
}
assert.Equal(t, expected, out, "expected and actual output did not match")
}
func TestSearchHubOutputCompletion(t *testing.T) {

@ -77,12 +77,10 @@ func TestShowPreReleaseChart(t *testing.T) {
contentTmp,
)
_, _, err := executeActionCommand(cmd)
if err != nil {
if tt.fail {
assert.ErrorContains(t, err, tt.expectedErr, "%q expected error: %s, got: %s", tt.name, tt.expectedErr, err.Error())
return
}
t.Errorf("%q reported error: %s", tt.name, err)
if tt.fail {
assert.ErrorContains(t, err, tt.expectedErr, "%q expected error: %s, got: %s", tt.name, tt.expectedErr, err.Error())
} else {
assert.NoError(t, err)
}
})
}

@ -99,10 +99,8 @@ func TestParallelDownloadTo(t *testing.T) {
// Verify the file has the expected size (should match the source file)
sourceFile := "testdata/local-subchart-0.1.0.tgz"
sourceInfo, err := os.Stat(sourceFile)
if err == nil && info.Size() != sourceInfo.Size() {
t.Errorf("Downloaded file size (%d bytes) doesn't match source file size (%d bytes)",
info.Size(), sourceInfo.Size())
}
require.NoError(t, err)
assert.False(t, info.Size() != sourceInfo.Size(), "Downloaded file size doesn't match source file size")
// Verify it's a valid tar.gz file by checking the magic bytes
file, err := os.Open(expectedFile)
@ -110,10 +108,10 @@ func TestParallelDownloadTo(t *testing.T) {
defer file.Close()
// gzip magic bytes are 0x1f 0x8b
magic := make([]byte, 2)
if n, err := file.Read(magic); err == nil && n == 2 {
if magic[0] != 0x1f || magic[1] != 0x8b {
t.Errorf("Downloaded file is not a valid gzip file (magic bytes: %x)", magic)
}
n, err := file.Read(magic)
require.NoError(t, err)
if n == 2 {
assert.False(t, magic[0] != 0x1f || magic[1] != 0x8b, "Downloaded file is not a valid gzip file (magic bytes: %x)", magic)
}
}

@ -16,6 +16,7 @@ limitations under the License.
package engine
import (
"strconv"
"testing"
"github.com/stretchr/testify/assert"
@ -47,10 +48,10 @@ func TestNewFiles(t *testing.T) {
assert.Len(t, files, len(cases), "Expected len() = %d, got %d", len(cases), len(files))
for i, f := range cases {
got := string(files.GetBytes(f.path))
assert.Equalf(t, got, f.data, "%d: expected %q, got %q", i, f.data, got)
got = files.Get(f.path)
assert.Equalf(t, got, f.data, "%d: expected %q, got %q", i, f.data, got)
t.Run(strconv.Itoa(i), func(t *testing.T) {
assert.Equal(t, f.data, string(files.GetBytes(f.path)))
assert.Equal(t, f.data, files.Get(f.path))
})
}
}

@ -38,7 +38,7 @@ func TestError(t *testing.T) {
os.Unsetenv(name)
g := Gate(name)
assert.Equal(t, "this feature has been marked as experimental and is not enabled by default. Please set HELM_EXPERIMENTAL_FEATURE=1 in your environment to use this feature", g.Error().Error())
assert.EqualError(t, g.Error(), "this feature has been marked as experimental and is not enabled by default. Please set HELM_EXPERIMENTAL_FEATURE=1 in your environment to use this feature")
}
func TestString(t *testing.T) {

@ -122,9 +122,9 @@ func TestDownload(t *testing.T) {
const expectedUserAgent = "I am Groot"
basicAuthSrv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
username, password, ok := r.BasicAuth()
if !ok || username != "username" || password != "password" {
t.Errorf("Expected request to use basic auth and for username == 'username' and password == 'password', got '%v', '%s', '%s'", ok, username, password)
}
assert.True(t, ok, "Expected request to use basic auth")
assert.Equal(t, "username", username)
assert.Equal(t, "password", password)
assert.Equal(t, expectedUserAgent, r.UserAgent(), "Expected '%s', got '%s'", expectedUserAgent, r.UserAgent())
fmt.Fprint(w, expect)
}))
@ -147,9 +147,9 @@ func TestDownload(t *testing.T) {
// test with Get URL differing from withURL
crossAuthSrv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
username, password, ok := r.BasicAuth()
if ok || username == "username" || password == "password" {
t.Errorf("Expected request to not include but got '%v', '%s', '%s'", ok, username, password)
}
assert.False(t, ok)
assert.NotEqual(t, "username", username)
assert.NotEqual(t, "password", password)
fmt.Fprint(w, expect)
}))
@ -176,9 +176,9 @@ func TestDownload(t *testing.T) {
// test with Get URL differing from withURL and should pass creds
crossAuthSrv = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
username, password, ok := r.BasicAuth()
if !ok || username != "username" || password != "password" {
t.Errorf("Expected request to use basic auth and for username == 'username' and password == 'password', got '%v', '%s', '%s'", ok, username, password)
}
assert.True(t, ok, "Expected request to use basic auth")
assert.Equal(t, "username", username)
assert.Equal(t, "password", password)
fmt.Fprint(w, expect)
}))

@ -165,7 +165,11 @@ func Test_ReadyChecker_IsReady_Job(t *testing.T) {
require.NoError(t, err, "Failed to create Job")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -237,7 +241,11 @@ func Test_ReadyChecker_IsReady_Deployment(t *testing.T) {
require.NoError(t, err, "Failed to create ReplicaSet")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -303,7 +311,11 @@ func Test_ReadyChecker_IsReady_PersistentVolumeClaim(t *testing.T) {
require.NoError(t, err, "Failed to create PersistentVolumeClaim")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -369,7 +381,11 @@ func Test_ReadyChecker_IsReady_Service(t *testing.T) {
require.NoError(t, err, "Failed to create Service")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -435,7 +451,11 @@ func Test_ReadyChecker_IsReady_DaemonSet(t *testing.T) {
require.NoError(t, err, "Failed to create DaemonSet")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -501,7 +521,11 @@ func Test_ReadyChecker_IsReady_StatefulSet(t *testing.T) {
require.NoError(t, err, "Failed to create StatefulSet")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -582,7 +606,11 @@ func Test_ReadyChecker_IsReady_ReplicationController(t *testing.T) {
require.NoError(t, err, "Failed to create ReplicationController")
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -646,7 +674,11 @@ func Test_ReadyChecker_IsReady_ReplicaSet(t *testing.T) {
}
//
got, err := c.IsReady(tt.args.ctx, tt.args.resource)
assert.Equal(t, tt.wantErr, (err != nil), "IsReady() error = %v, wantErr %v", err, tt.wantErr)
if tt.wantErr {
require.Error(t, err, "IsReady()")
} else {
require.NoError(t, err, "IsReady()")
}
assert.Equal(t, tt.want, got, "IsReady() = %v, want %v", got, tt.want)
})
}
@ -1044,9 +1076,10 @@ func Test_ReadyChecker_jobReady(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
c := NewReadyChecker(fake.NewClientset())
got, err := c.jobReady(tt.args.job)
if (err != nil) != tt.wantErr {
t.Errorf("jobReady() error = %v, wantErr %v", err, tt.wantErr)
return
if tt.wantErr {
require.Error(t, err, "jobReady()")
} else {
require.NoError(t, err, "jobReady()")
}
assert.Equal(t, tt.want, got, "jobReady() = %v, want %v", got, tt.want)
})

@ -42,13 +42,11 @@ func TestResourceList(t *testing.T) {
diff := r1.Difference(r2)
assert.Len(t, diff, 1, "expected 1 result")
assert.True(t, diff.Contains(info("foo")), "expected diff to return foo")
assert.Contains(t, diff, info("foo"), "expected diff to return foo")
inter := r1.Intersect(r2)
assert.Len(t, inter, 1, "expected 1 result")
assert.True(t, inter.Contains(info("bar")), "expected intersect to return bar")
assert.Contains(t, inter, info("bar"), "expected intersect to return bar")
}
func TestIsMatchingInfo(t *testing.T) {

@ -297,8 +297,7 @@ func TestLegacyWaiter_waitForPodSuccess(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
done, err := lw.waitForPodSuccess(tt.obj, "foo")
if tt.wantErr {
require.Error(t, err, "expected error, got none")
require.ErrorContains(t, err, tt.errMessage, "expected error to contain %q, got %q", tt.errMessage, err.Error())
require.ErrorContains(t, err, tt.errMessage)
} else {
require.NoError(t, err)
}
@ -384,8 +383,7 @@ func TestLegacyWaiter_waitForJob(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
done, err := lw.waitForJob(tt.obj, "test-job")
if tt.wantErr {
require.Error(t, err, "expected error, got none")
require.ErrorContainsf(t, err, tt.errMessage, "expected error to contain %q, got %q", tt.errMessage, err.Error())
require.ErrorContains(t, err, tt.errMessage)
} else {
require.NoError(t, err)
assert.Equal(t, tt.wantDone, done, "got done=%v, want %v", done, tt.wantDone)

@ -141,12 +141,11 @@ func TestRetryingRoundTripper_RoundTrip(t *testing.T) {
if tt.expectedErr != "" {
require.ErrorContains(t, err, tt.expectedErr)
return
} else {
require.NoError(t, err)
assert.Equal(t, tt.expectedCode, resp.StatusCode)
assert.Equal(t, tt.expectedCalls, fakeRT.calls)
}
require.NoError(t, err)
assert.Equal(t, tt.expectedCode, resp.StatusCode)
assert.Equal(t, tt.expectedCalls, fakeRT.calls)
})
}
}

@ -128,9 +128,7 @@ func TestParseMessageBlock(t *testing.T) {
func TestLoadKey(t *testing.T) {
k, err := loadKey(testKeyfile)
require.NoError(t, err)
_, ok := k.Identities[testKeyName]
assert.Truef(t, ok, "Expected to load a key for user %q", testKeyName)
assert.Containsf(t, k.Identities, testKeyName, "Expected to load a key for user %q", testKeyName)
}
func TestLoadKeyRing(t *testing.T) {
@ -163,8 +161,7 @@ func TestNewFromFiles(t *testing.T) {
s, err := NewFromFiles(testKeyfile, testPubfile)
require.NoError(t, err)
_, ok := s.Entity.Identities[testKeyName]
assert.Truef(t, ok, "Expected to load a key for user %q", testKeyName)
assert.Containsf(t, s.Entity.Identities, testKeyName, "Expected to load a key for user %q", testKeyName)
}
func TestDigestFile(t *testing.T) {
@ -240,7 +237,6 @@ func TestMixedKeyringRSASigningAndVerification(t *testing.T) {
}
assert.True(t, hasEdDSA, "expected %s to include an Ed25519 public key", testMixedKeyring)
require.NotNil(t, signer.Entity, "expected signer entity to be loaded")
require.NotNil(t, signer.Entity.PrivateKey, "expected signer private key to be loaded")
assert.Equal(t, packet.PubKeyAlgoRSA, signer.Entity.PrivateKey.PubKeyAlgo, "expected RSA key")
@ -259,9 +255,7 @@ func TestMixedKeyringRSASigningAndVerification(t *testing.T) {
require.NotNil(t, verification.SignedBy, "expected verification to include signer")
require.NotNil(t, verification.SignedBy.PrimaryKey, "expected verification to include signer primary key")
assert.Equal(t, packet.PubKeyAlgoRSA, verification.SignedBy.PrimaryKey.PubKeyAlgo, "expected verification to report RSA key")
_, ok := verification.SignedBy.Identities[testKeyName]
assert.True(t, ok, "expected verification to be signed by %q", testKeyName)
assert.Contains(t, verification.SignedBy.Identities, testKeyName, "expected verification to be signed by %q", testKeyName)
}
// failSigner always fails to sign and returns an error

@ -33,8 +33,7 @@ func TestNewOCIPusher(t *testing.T) {
p, err := NewOCIPusher()
require.NoError(t, err)
_, ok := p.(*OCIPusher)
require.True(t, ok, "Expected NewOCIPusher to produce an *OCIPusher")
require.IsType(t, &OCIPusher{}, p, "Expected NewOCIPusher to produce an *OCIPusher")
cd := "../../testdata"
join := filepath.Join
@ -196,7 +195,7 @@ func TestOCIPusher_newRegistryClient(t *testing.T) {
if tt.expectError {
require.Error(t, err, "Expected error but got none")
if tt.errorContains != "" {
require.ErrorContainsf(t, err, tt.errorContains, "Expected error containing %q, got %q", tt.errorContains, err.Error())
require.ErrorContains(t, err, tt.errorContains)
}
} else {
require.NoError(t, err)

@ -232,8 +232,7 @@ func TestGenerateOCICreatedAnnotations(t *testing.T) {
result := generateOCIAnnotations(testChart, nowTimeString)
// Check that created annotation exists
_, ok := result[ocispec.AnnotationCreated]
assert.True(t, ok, "%s annotation not created", ocispec.AnnotationCreated)
assert.Contains(t, result, ocispec.AnnotationCreated, "%s annotation not created", ocispec.AnnotationCreated)
// Verify value of created artifact in RFC3339 format
_, err := time.Parse(time.RFC3339, result[ocispec.AnnotationCreated])
@ -243,8 +242,7 @@ func TestGenerateOCICreatedAnnotations(t *testing.T) {
result = generateOCIAnnotations(testChart, "")
// Check that created annotation exists
_, ok = result[ocispec.AnnotationCreated]
require.True(t, ok, "%s annotation not created", ocispec.AnnotationCreated)
require.Contains(t, result, ocispec.AnnotationCreated, "%s annotation not created", ocispec.AnnotationCreated)
createdTimeAnnotation, err := time.Parse(time.RFC3339, result[ocispec.AnnotationCreated])
require.NoError(t, err, "%s annotation with value '%s' not in RFC3339 format", ocispec.AnnotationCreated, result[ocispec.AnnotationCreated])

@ -65,9 +65,9 @@ func TestLogin_ResetsForceAttemptOAuth2_OnSuccess(t *testing.T) {
if r.URL.Path == "/v2/" {
// Accept either HEAD or GET
w.WriteHeader(http.StatusOK)
return
} else {
http.NotFound(w, r)
}
http.NotFound(w, r)
}))
defer srv.Close()

@ -78,11 +78,10 @@ func TestGetPluginName(t *testing.T) {
if tt.expectErr {
assert.Error(t, err, "expected error but got none")
return
} else {
require.NoError(t, err)
assert.Equal(t, tt.expected, pluginName)
}
require.NoError(t, err)
assert.Equal(t, tt.expected, pluginName)
})
}
}

@ -376,23 +376,21 @@ func initFakeRegistryTestServer() string {
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(err.Error()))
return
} else {
w.Header().Set("Content-Type", ProvLayerMediaType)
w.Write(data)
}
w.Header().Set("Content-Type", ProvLayerMediaType)
w.Write(data)
case "/v2/testrepo/image-index/blobs/sha256:e5ef611620fb97704d8751c16bab17fedb68883bfb0edc76f78a70e9173f9b55":
data, err := os.ReadFile("../downloader/testdata/signtest-0.1.0.tgz")
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(err.Error()))
return
} else {
w.Header().Set("Content-Type", ChartLayerMediaType)
w.Write(data)
}
w.Header().Set("Content-Type", ChartLayerMediaType)
w.Write(data)
default:
w.WriteHeader(http.StatusNotFound)
}

@ -143,7 +143,6 @@ metadata:
// This test will fail if 'six' or 'seven' was added.
assert.Len(t, generic, 2)
assert.Len(t, hs, 4)
for _, out := range hs {

@ -175,9 +175,7 @@ func TestFindChartInAuthAndTLSAndPassRepoURL(t *testing.T) {
// versions of Darwin do not. As there are people developing Helm using both old and new versions of Darwin we test
// for both messages.
if runtime.GOOS == "darwin" {
if !strings.Contains(err.Error(), "x509: “Acme Co” certificate is not trusted") && !strings.Contains(err.Error(), "x509: certificate signed by unknown authority") {
t.Errorf("Expected TLS error for function FindChartInAuthAndTLSAndPassRepoURL not found, but got a different error (%v)", err)
}
assert.True(t, strings.Contains(err.Error(), "x509: “Acme Co” certificate is not trusted") || strings.Contains(err.Error(), "x509: certificate signed by unknown authority"), "Expected TLS error for function FindChartInAuthAndTLSAndPassRepoURL not found, but got a different error (%v)", err)
} else {
assert.ErrorContainsf(t, err, "x509: certificate signed by unknown authority", "Expected TLS error for function FindChartInAuthAndTLSAndPassRepoURL not found, but got a different error")
}
@ -203,7 +201,6 @@ func TestErrorFindChartInRepoURL(t *testing.T) {
})
_, err := FindChartInRepoURL("http://someserver/something", "nginx", g)
require.Error(t, err, "Expected error for bad chart URL, but did not get any errors")
require.ErrorContainsf(t, err, `looks like "http://someserver/something" is not a valid chart repository or cannot be reached`, "Expected error for bad chart URL, but got a different error")
srv, err := startLocalServerForTests(nil)
@ -211,16 +208,13 @@ func TestErrorFindChartInRepoURL(t *testing.T) {
defer srv.Close()
_, err = FindChartInRepoURL(srv.URL, "nginx1", g)
require.Error(t, err, "Expected error for chart not found, but did not get any errors")
require.EqualError(t, err, `chart "nginx1" not found in `+srv.URL+` repository`, "Expected error for chart not found, but got a different error")
require.ErrorIs(t, err, ChartNotFoundError{}, "error is not of correct error type structure")
_, err = FindChartInRepoURL(srv.URL, "nginx1", g, WithChartVersion("0.1.0"))
require.Error(t, err, "Expected error for chart not found, but did not get any errors")
require.EqualError(t, err, `chart "nginx1" version "0.1.0" not found in `+srv.URL+` repository`, "Expected error for chart not found, but got a different error")
_, err = FindChartInRepoURL(srv.URL, "chartWithNoURL", g)
require.Error(t, err, "Expected error for no chart URLs available, but did not get any errors")
assert.EqualError(t, err, `chart "chartWithNoURL" has no downloadable URLs`, "Expected error for chart not found, but got a different error")
}

@ -120,11 +120,8 @@ func TestRemoveRepository(t *testing.T) {
)
removeRepository := "stable"
found := sampleRepository.Remove(removeRepository)
assert.Truef(t, found, "expected repository %s not found", removeRepository)
found = sampleRepository.Has(removeRepository)
assert.Falsef(t, found, "repository %s not deleted", removeRepository)
assert.Truef(t, sampleRepository.Remove(removeRepository), "expected repository %s not found", removeRepository)
assert.Falsef(t, sampleRepository.Has(removeRepository), "repository %s not deleted", removeRepository)
}
func TestUpdateRepository(t *testing.T) {
@ -205,9 +202,6 @@ func TestRemoveRepositoryInvalidEntries(t *testing.T) {
)
removeRepository := "stable"
found := sampleRepository.Remove(removeRepository)
assert.Truef(t, found, "expected repository %s not found", removeRepository)
found = sampleRepository.Has(removeRepository)
assert.Falsef(t, found, "repository %s not deleted", removeRepository)
assert.Truef(t, sampleRepository.Remove(removeRepository), "expected repository %s not found", removeRepository)
assert.Falsef(t, sampleRepository.Has(removeRepository), "repository %s not deleted", removeRepository)
}

@ -42,24 +42,25 @@ func TestServer(t *testing.T) {
c, err := srv.CopyCharts("testdata/*.tgz")
require.NoError(t, err)
assert.Len(t, c, 1)
require.Len(t, c, 1)
assert.Equal(t, "examplechart-0.1.0.tgz", filepath.Base(c[0]))
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, srv.URL()+"/examplechart-0.1.0.tgz", http.NoBody)
require.NoError(t, err)
client := http.DefaultClient
res, err := client.Do(req)
require.NoError(t, err)
res.Body.Close()
res.Body.Close()
assert.GreaterOrEqual(t, res.ContentLength, int64(500))
req, err = http.NewRequestWithContext(t.Context(), http.MethodGet, srv.URL()+"/index.yaml", http.NoBody)
require.NoError(t, err)
res, err = client.Do(req)
require.NoError(t, err)
data, err := io.ReadAll(res.Body)
res.Body.Close()
require.NoError(t, err)

@ -18,6 +18,8 @@ package driver
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestLabelsMatch(t *testing.T) {
@ -42,8 +44,8 @@ func TestLabelsMatch(t *testing.T) {
}
for _, tt := range tests {
if !tt.set1.match(tt.set2) && tt.expect {
t.Fatalf("Expected match '%s'\n", tt.desc)
}
t.Run(tt.desc, func(t *testing.T) {
require.False(t, !tt.set1.match(tt.set2) && tt.expect)
})
}
}

@ -17,7 +17,6 @@ limitations under the License.
package driver
import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
@ -132,7 +131,7 @@ func TestRecordsGet(t *testing.T) {
for _, tt := range tests {
got := rs.Get(tt.key)
require.Truef(t, reflect.DeepEqual(tt.rec, got), "Expected %v, got %v", tt.rec, got)
require.Equal(t, tt.rec, got, "Expected %v, got %v", tt.rec, got)
}
}
@ -222,6 +221,6 @@ func TestRecordsReplace(t *testing.T) {
for _, tt := range tests {
got := rs.Replace(tt.key, tt.rec)
require.Truef(t, reflect.DeepEqual(tt.expected, got), "Expected %v, got %v", tt.expected, got)
require.Equalf(t, tt.expected, got, "Expected %v, got %v", tt.expected, got)
}
}

@ -14,7 +14,6 @@ limitations under the License.
package driver
import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
@ -22,7 +21,7 @@ import (
func TestGetSystemLabel(t *testing.T) {
output := GetSystemLabels()
assert.Truef(t, reflect.DeepEqual(systemLabels, output), "Expected {%v}, got {%v}", systemLabels, output)
assert.Equalf(t, systemLabels, output, "Expected {%v}, got {%v}", systemLabels, output)
}
func TestIsSystemLabel(t *testing.T) {
@ -69,7 +68,7 @@ func TestFilterSystemLabels(t *testing.T) {
}
for _, test := range tests {
output := filterSystemLabels(test[0])
assert.Truef(t, reflect.DeepEqual(test[1], output), "Expected {%v}, got {%v}", test[1], output)
assert.Equalf(t, test[1], output, "Expected {%v}, got {%v}", test[1], output)
}
}
@ -101,6 +100,6 @@ func TestContainsSystemLabels(t *testing.T) {
}
for _, test := range tests {
output := ContainsSystemLabels(test.input)
assert.Truef(t, reflect.DeepEqual(test.output, output), "Expected {%v}, got {%v}", test.output, output)
assert.Equalf(t, test.output, output, "Expected {%v}, got {%v}", test.output, output)
}
}

Loading…
Cancel
Save