From 892c97e350d18540956203ae412c497676d3ba77 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Sun, 7 Aug 2022 23:14:39 +0300 Subject: [PATCH] lib/auth: follow-up after b6a6a659f437417a8ee867f273ae59c02d9755ef --- lib/auth/auth_test.go | 104 +++++++++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 43 deletions(-) diff --git a/lib/auth/auth_test.go b/lib/auth/auth_test.go index 81ed7f6b1..edcaa3f2e 100644 --- a/lib/auth/auth_test.go +++ b/lib/auth/auth_test.go @@ -6,54 +6,72 @@ import ( ) func TestNewTokenSuccess(t *testing.T) { - f := func(name string, token string, want string) { + f := func(token string, want string) { t.Helper() - t.Run(name, func(t *testing.T) { - newToken, err := NewToken(token) - if err != nil { - t.Fatalf("expecting nil error") - } - got := fmt.Sprintf("%d:%d", newToken.AccountID, newToken.ProjectID) - if got != want { - t.Errorf("NewToken() got = %v, want %v", newToken, want) - } - }) - + newToken, err := NewToken(token) + if err != nil { + t.Fatalf("unexpected error: %s", err) + } + got := fmt.Sprintf("%d:%d", newToken.AccountID, newToken.ProjectID) + if got != want { + t.Fatalf("unexpected NewToken() result;got\n%s\nwant\n%s", got, want) + } } - f("token with accountID and projectID", "1:2", "1:2") - f("max uint32 accountID", "4294967295:1", "4294967295:1") - f("max uint32 projectID", "1:4294967295", "1:4294967295") - f("max uint32 accountID and projectID", "4294967295:4294967295", "4294967295:4294967295") + // token with accountID only + f("1", "1:0") + // token with accountID and projecTID + f("1:2", "1:2") + // max uint32 accountID + f("4294967295:1", "4294967295:1") + // max uint32 projectID + f("1:4294967295", "1:4294967295") + // max uint32 accountID and projectID + f("4294967295:4294967295", "4294967295:4294967295") } func TestNewTokenFailure(t *testing.T) { - f := func(name string, token string) { + f := func(token string) { t.Helper() - t.Run(name, func(t *testing.T) { - newToken, err := NewToken(token) - if err == nil { - t.Fatalf("expecting non-nil error") - } - if newToken != nil { - t.Fatalf("expecting nil token") - } - }) + newToken, err := NewToken(token) + if err == nil { + t.Fatalf("expecting non-nil error") + } + if newToken != nil { + t.Fatalf("expecting nil token; got\n%#v", newToken) + } } - f("empty token", "") - f("empty accountID and projectID", ":") - f("accountID and projectID not int values", "a:b") - f("missed projectID", "1:") - f("missed accountID", ":2") - f("large int value for accountID", "9223372036854775808:1") - f("large int value for projectID", "2:9223372036854775808") - f("both large int values incorrect", "9223372036854775809:9223372036854775808") - f("large uint32 values incorrect", "4294967297:4294967295") - f("negative accountID", "-100:100") - f("negative projectID", "100:-100") - f("negative accountID and projectID", "-100:-100") - f("accountID is string", "abcd:2") - f("projectID is string", "2:abcd") - f("empty many parts in the token", "::") - f("many string parts in the token", "a:b:c") - f("many int parts in the token", "1:2:3") + // empty token + f("") + // empty accountID and projectID" + f(":") + // accountID and projectID not int values + f("a:b") + // missed projectID + f("1:") + // missed accountID + f(":2") + // large int value for accountID + f("9223372036854775808:1") + // large value for projectID + f("2:9223372036854775808") + // both large values incorrect + f("9223372036854775809:9223372036854775808") + // large uint32 values incorrect + f("4294967297:4294967295") + //negative accountID + f("-100:100") + // negative projectID + f("100:-100") + // negative accountID and projectID + f("-100:-100") + // accountID is string + f("abcd:2") + // projectID is string + f("2:abcd") + // empty many parts in the token + f("::") + // many string parts in the token + f("a:b:c") + // many int parts in the token" + f("1:2:3") }