From d12532ccc120226369b35b659b6719eb37c7fa53 Mon Sep 17 00:00:00 2001 From: pibigstar Date: Fri, 12 Apr 2019 23:29:31 +0800 Subject: [PATCH] set a definite value for an assertion #66 --- g/crypto/gdes/gdes_test.go | 301 ++++++++++++++++++----------------- g/crypto/gmd5/gmd5_test.go | 13 +- g/crypto/gsha1/gsha1_test.go | 13 +- 3 files changed, 173 insertions(+), 154 deletions(-) diff --git a/g/crypto/gdes/gdes_test.go b/g/crypto/gdes/gdes_test.go index 31f918c70..bba03375f 100644 --- a/g/crypto/gdes/gdes_test.go +++ b/g/crypto/gdes/gdes_test.go @@ -1,46 +1,48 @@ package gdes_test import ( - "github.com/gogf/gf/g/test/gtest" - "testing" - "bytes" "encoding/hex" - "fmt" + "testing" + "github.com/gogf/gf/g/crypto/gdes" + "github.com/gogf/gf/g/test/gtest" ) -var( - errKey = []byte("1111111111111234123456789") - errIv = []byte("12345678") +var ( + errKey = []byte("1111111111111234123456789") + errIv = []byte("123456789") errPadding = 5 ) -func TestDesECB(t *testing.T){ +func TestDesECB(t *testing.T) { gtest.Case(t, func() { key := []byte("11111111") text := []byte("12345678") padding := gdes.NOPADDING + result := "858b176da8b12503" + // encrypt test cipherText, err := gdes.DesECBEncrypt(key, text, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err, nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.DesECBDecrypt(key, cipherText, padding) - if err != nil { - t.Errorf("%v", err) - } + gtest.AssertEQ(err, nil) + gtest.AssertEQ(string(clearText), "12345678") - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) - - // err test - gdes.DesECBEncrypt(key, text, errPadding) - gdes.DesECBEncrypt(errKey, text, padding) - - gdes.DesECBDecrypt(errKey, cipherText, padding) - gdes.DesECBDecrypt(key, cipherText, errPadding) + // encrypt err test. when throw exception,the err is not equal nil and the string is nil + errEncrypt, err := gdes.DesECBEncrypt(key, text, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + errEncrypt, err = gdes.DesECBEncrypt(errKey, text, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // err decrypt test. + errDecrypt, err := gdes.DesECBDecrypt(errKey, cipherText, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) + errDecrypt, err = gdes.DesECBDecrypt(key, cipherText, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) }) gtest.Case(t, func() { @@ -48,105 +50,113 @@ func TestDesECB(t *testing.T){ text := []byte("12345678") padding := gdes.PKCS5PADDING errPadding := 5 + result := "858b176da8b12503ad6a88b4fa37833d" cipherText, err := gdes.DesECBEncrypt(key, text, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.DesECBDecrypt(key, cipherText, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"12345678") // err test - gdes.DesECBEncrypt(key, text, errPadding) - gdes.DesECBDecrypt(errKey, cipherText, padding) + errEncrypt, err := gdes.DesECBEncrypt(key, text, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + errDecrypt, err := gdes.DesECBDecrypt(errKey, cipherText, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) }) } -func Test3DesECB(t *testing.T){ - { +func Test3DesECB(t *testing.T) { + gtest.Case(t, func() { key := []byte("1111111111111234") text := []byte("1234567812345678") padding := gdes.NOPADDING + result := "a23ee24b98c26263a23ee24b98c26263" + // encrypt test cipherText, err := gdes.TripleDesECBEncrypt(key, text, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.TripleDesECBDecrypt(key, cipherText, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"1234567812345678") // err test - gdes.DesECBEncrypt(key, text, errPadding) - } + errEncrypt, err := gdes.DesECBEncrypt(key, text, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + }) gtest.Case(t, func() { key := []byte("111111111111123412345678") text := []byte("123456789") padding := gdes.PKCS5PADDING errPadding := 5 + result := "37989b1effc07a6d00ff89a7d052e79f" + // encrypt test cipherText, err := gdes.TripleDesECBEncrypt(key, text, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.TripleDesECBDecrypt(key, cipherText, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) - // err test - gdes.TripleDesECBEncrypt(errKey, text, padding) - gdes.TripleDesECBEncrypt(key, text, errPadding) - - gdes.TripleDesECBDecrypt(errKey, text, padding) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"123456789") + // err test, when key is err, but text and padding is right + errEncrypt, err := gdes.TripleDesECBEncrypt(errKey, text, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // when padding is err,but key and text is right + errEncrypt, err = gdes.TripleDesECBEncrypt(key, text, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // decrypt err test,when key is err + errEncrypt, err = gdes.TripleDesECBDecrypt(errKey, text, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) }) } -func TestDesCBC(t *testing.T){ +func TestDesCBC(t *testing.T) { gtest.Case(t, func() { key := []byte("11111111") text := []byte("1234567812345678") padding := gdes.NOPADDING iv := []byte("12345678") - cipherText, err := gdes.DesCBCEncrypt(key, text, iv,padding) - if err != nil { - t.Errorf("%v", err) - } - + result := "40826a5800608c87585ca7c9efabee47" + // encrypt test + cipherText, err := gdes.DesCBCEncrypt(key, text, iv, padding) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.DesCBCDecrypt(key, cipherText, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) - // err test - gdes.DesCBCEncrypt(errKey, text, iv,padding) - gdes.DesCBCEncrypt(key, text, errIv,padding) - gdes.DesCBCEncrypt(key, text, iv,errPadding) - - gdes.DesCBCDecrypt(errKey, cipherText, iv, padding) - gdes.DesCBCDecrypt(key, cipherText, errIv, padding) - gdes.DesCBCDecrypt(key, cipherText, iv, errPadding) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"1234567812345678") + // encrypt err test. + errEncrypt, err := gdes.DesCBCEncrypt(errKey, text, iv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // the iv is err + errEncrypt, err = gdes.DesCBCEncrypt(key, text, errIv, padding) + //gtest.AssertNE(err,nil) + gtest.AssertEQ(errEncrypt, nil) + // the padding is err + errEncrypt, err = gdes.DesCBCEncrypt(key, text, iv, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // decrypt err test. the key is err + errDecrypt, err := gdes.DesCBCDecrypt(errKey, cipherText, iv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) + // the iv is err + errDecrypt, err = gdes.DesCBCDecrypt(key, cipherText, errIv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) + // the padding is err + errDecrypt, err = gdes.DesCBCDecrypt(key, cipherText, iv, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) }) gtest.Case(t, func() { @@ -154,75 +164,76 @@ func TestDesCBC(t *testing.T){ text := []byte("12345678") padding := gdes.PKCS5PADDING iv := []byte("12345678") + result := "40826a5800608c87100a25d86ac7c52c" + // encrypt test cipherText, err := gdes.DesCBCEncrypt(key, text, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.DesCBCDecrypt(key, cipherText, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"12345678") // err test - gdes.DesCBCEncrypt(key, text, errIv, padding) - gdes.DesCBCEncrypt(key, text, errIv, padding) + errEncrypt, err := gdes.DesCBCEncrypt(key, text, errIv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) }) } -func Test3DesCBC(t *testing.T){ +func Test3DesCBC(t *testing.T) { gtest.Case(t, func() { key := []byte("1111111112345678") text := []byte("1234567812345678") padding := gdes.NOPADDING iv := []byte("12345678") - cipherText, err := gdes.TripleDesCBCEncrypt(key, text, iv,padding) - if err != nil { - t.Errorf("%v", err) - } - + result := "bfde1394e265d5f738d5cab170c77c88" + // encrypt test + cipherText, err := gdes.TripleDesCBCEncrypt(key, text, iv, padding) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.TripleDesCBCDecrypt(key, cipherText, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) - // err test - gdes.TripleDesCBCEncrypt(errKey, text, iv,padding) - gdes.TripleDesCBCEncrypt(key, text, errIv,padding) - gdes.TripleDesCBCEncrypt(key, text, iv,errPadding) - - gdes.TripleDesCBCDecrypt(errKey, cipherText, iv, padding) - gdes.TripleDesCBCDecrypt(key, cipherText, errIv, padding) - gdes.TripleDesCBCDecrypt(key, cipherText, iv, errPadding) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"1234567812345678") + // encrypt err test + errEncrypt, err := gdes.TripleDesCBCEncrypt(errKey, text, iv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // the iv is err + errEncrypt, err = gdes.TripleDesCBCEncrypt(key, text, errIv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // the padding is err + errEncrypt, err = gdes.TripleDesCBCEncrypt(key, text, iv, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errEncrypt, nil) + // decrypt err test + errDecrypt, err := gdes.TripleDesCBCDecrypt(errKey, cipherText, iv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) + // the iv is err + errDecrypt, err = gdes.TripleDesCBCDecrypt(key, cipherText, errIv, padding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) + // the padding is err + errDecrypt, err = gdes.TripleDesCBCDecrypt(key, cipherText, iv, errPadding) + gtest.AssertNE(err, nil) + gtest.AssertEQ(errDecrypt, nil) }) gtest.Case(t, func() { key := []byte("111111111234567812345678") text := []byte("12345678") padding := gdes.PKCS5PADDING iv := []byte("12345678") + result := "40826a5800608c87100a25d86ac7c52c" + // encrypt test cipherText, err := gdes.TripleDesCBCEncrypt(key, text, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - + gtest.AssertEQ(err,nil) + gtest.AssertEQ(hex.EncodeToString(cipherText),result) + // decrypt test clearText, err := gdes.TripleDesCBCDecrypt(key, cipherText, iv, padding) - if err != nil { - t.Errorf("%v", err) - } - - if bytes.Equal(clearText, text) == false { - t.Errorf("text:%v, clearText:%v", hex.EncodeToString(text), hex.EncodeToString(clearText)) - } - fmt.Println("key:", hex.EncodeToString(key),"clearText:", hex.EncodeToString(clearText), "cipherText:", hex.EncodeToString(cipherText)) + gtest.AssertEQ(err,nil) + gtest.AssertEQ(string(clearText),"12345678") }) -} \ No newline at end of file +} diff --git a/g/crypto/gmd5/gmd5_test.go b/g/crypto/gmd5/gmd5_test.go index 91b767409..12c3f066e 100644 --- a/g/crypto/gmd5/gmd5_test.go +++ b/g/crypto/gmd5/gmd5_test.go @@ -18,7 +18,7 @@ import ( var ( s = "pibigstar" - // 根据在线工具生成的md5值 + // online generated MD5 value result = "d175a1ff66aedde64344785f7f7a3df8" ) @@ -33,8 +33,9 @@ func TestEncrypt(t *testing.T) { encryptString := gmd5.Encrypt(s) gtest.Assert(encryptString, result) + result := "1427562bb29f88a1161590b76398ab72" encrypt := gmd5.Encrypt(123456) - gtest.AssertNE(encrypt,"") + gtest.AssertEQ(encrypt,result) }) gtest.Case(t, func() { @@ -43,8 +44,9 @@ func TestEncrypt(t *testing.T) { password: "123456", age: 23, } + result := "70917ebce8bd2f78c736cda63870fb39" encrypt := gmd5.Encrypt(user) - gtest.AssertNE(encrypt,"") + gtest.AssertEQ(encrypt,result) }) } @@ -58,6 +60,7 @@ func TestEncryptString(t *testing.T) { func TestEncryptFile(t *testing.T) { path := "test.text" errorPath := "err.txt" + result := "e6e6e1cd41895beebff16d5452dfce12" gtest.Case(t, func() { file, err := os.Create(path) defer os.Remove(path) @@ -65,8 +68,8 @@ func TestEncryptFile(t *testing.T) { gtest.Assert(err, nil) file.Write([]byte("Hello Go Frame")) encryptFile := gmd5.EncryptFile(path) - gtest.AssertNE(encryptFile, "") - + gtest.AssertEQ(encryptFile, result) + // when the file is not exist,encrypt will return empty string errEncrypt := gmd5.EncryptFile(errorPath) gtest.AssertEQ(errEncrypt, "") }) diff --git a/g/crypto/gsha1/gsha1_test.go b/g/crypto/gsha1/gsha1_test.go index 042318210..59f21489c 100644 --- a/g/crypto/gsha1/gsha1_test.go +++ b/g/crypto/gsha1/gsha1_test.go @@ -29,19 +29,22 @@ func TestEncrypt(t *testing.T) { password: "123456", age: 23, } + result := "97386736e3ee4adee5ca595c78c12129f6032cad" encrypt := gsha1.Encrypt(user) - gtest.AssertNE(encrypt, "") + gtest.AssertEQ(encrypt, result) }) gtest.Case(t, func() { + result := "5b4c1c2a08ca85ddd031ef8627414f4cb2620b41" s := gsha1.Encrypt("pibigstar") - gtest.AssertNE(s, "") + gtest.AssertEQ(s, result) }) } func TestEncryptString(t *testing.T) { gtest.Case(t, func() { + result := "5b4c1c2a08ca85ddd031ef8627414f4cb2620b41" s := gsha1.EncryptString("pibigstar") - gtest.AssertNE(s, "") + gtest.AssertEQ(s, result) }) } @@ -49,13 +52,15 @@ func TestEncryptFile(t *testing.T) { path := "test.text" errPath := "err.text" gtest.Case(t, func() { + result := "8b05d3ba24b8d2374b8f5149d9f3fbada14ea984" file, err := os.Create(path) defer os.Remove(path) defer file.Close() gtest.Assert(err, nil) file.Write([]byte("Hello Go Frame")) encryptFile := gsha1.EncryptFile(path) - gtest.AssertNE(encryptFile, "") + gtest.AssertEQ(encryptFile, result) + // when the file is not exist,encrypt will return empty string errEncrypt := gsha1.EncryptFile(errPath) gtest.AssertEQ(errEncrypt,"") })