github.com/go-chef/chef@v0.30.1/authentication_test.go (about) 1 package chef 2 3 import ( 4 "testing" 5 ) 6 7 const ( 8 teststr = "Hash this string" 9 testsha1 = "hdBcDGYOo5/Q4k2DojVVP1ANs3U=" 10 testsha256 = "HKxj85/WjYxTHye4B2EPs9UPD8PxhplXZ/tjFucgCj4=" 11 privateKeyG = ` 12 -----BEGIN RSA PRIVATE KEY----- 13 MIIEpAIBAAKCAQEAx12nDxxOwSPHRSJEDz67a0folBqElzlu2oGMiUTS+dqtj3FU 14 h5lJc1MjcprRVxcDVwhsSSo9948XEkk39IdblUCLohucqNMzOnIcdZn8zblN7Cnp 15 W03UwRM0iWX1HuwHnGvm6PKeqKGqplyIXYO0qlDWCzC+VaxFTwOUk31MfOHJQn4y 16 fTrfuE7h3FTElLBu065SFp3dPICIEmWCl9DadnxbnZ8ASxYQ9xG7hmZduDgjNW5l 17 3x6/EFkpym+//D6AbWDcVJ1ovCsJL3CfH/NZC3ekeJ/aEeLxP/vaCSH1VYC5VsYK 18 5Qg7SIa6Nth3+RZz1hYOoBJulEzwljznwoZYRQIDAQABAoIBADPQol+qAsnty5er 19 PTcdHcbXLJp5feZz1dzSeL0gdxja/erfEJIhg9aGUBs0I55X69VN6h7l7K8PsHZf 20 MzzJhUL4QJJETOYP5iuVhtIF0I+DTr5Hck/5nYcEv83KAvgjbiL4ZE486IF5awnL 21 2OE9HtJ5KfhEleNcX7MWgiIHGb8G1jCqu/tH0GI8Z4cNgUrXMbczGwfbN/5Wc0zo 22 Dtpe0Tec/Fd0DLFwRiAuheakPjlVWb7AGMDX4TyzCXfMpS1ul2jk6nGFk77uQozF 23 PQUawCRp+mVS4qecgq/WqfTZZbBlW2L18/kpafvsxG8kJ7OREtrb0SloZNFHEc2Q 24 70GbgKECgYEA6c/eOrI3Uour1gKezEBFmFKFH6YS/NZNpcSG5PcoqF6AVJwXg574 25 Qy6RatC47e92be2TT1Oyplntj4vkZ3REv81yfz/tuXmtG0AylH7REbxubxAgYmUT 26 18wUAL4s3TST2AlK4R29KwBadwUAJeOLNW+Rc4xht1galsqQRb4pUzkCgYEA2kj2 27 vUhKAB7QFCPST45/5q+AATut8WeHnI+t1UaiZoK41Jre8TwlYqUgcJ16Q0H6KIbJ 28 jlEZAu0IsJxjQxkD4oJgv8n5PFXdc14HcSQ512FmgCGNwtDY/AT7SQP3kOj0Rydg 29 N02uuRb/55NJ07Bh+yTQNGA+M5SSnUyaRPIAMW0CgYBgVU7grDDzB60C/g1jZk/G 30 VKmYwposJjfTxsc1a0gLJvSE59MgXc04EOXFNr4a+oC3Bh2dn4SJ2Z9xd1fh8Bur 31 UwCLwVE3DBTwl2C/ogiN4C83/1L4d2DXlrPfInvloBYR+rIpUlFweDLNuve2pKvk 32 llU9YGeaXOiHnGoY8iKgsQKBgQDZKMOHtZYhHoZlsul0ylCGAEz5bRT0V8n7QJlw 33 12+TSjN1F4n6Npr+00Y9ov1SUh38GXQFiLq4RXZitYKu6wEJZCm6Q8YXd1jzgDUp 34 IyAEHNsrV7Y/fSSRPKd9kVvGp2r2Kr825aqQasg16zsERbKEdrBHmwPmrsVZhi7n 35 rlXw1QKBgQDBOyUJKQOgDE2u9EHybhCIbfowyIE22qn9a3WjQgfxFJ+aAL9Bg124 36 fJIEzz43fJ91fe5lTOgyMF5TtU5ClAOPGtlWnXU0e5j3L4LjbcqzEbeyxvP3sn1z 37 dYkX7NdNQ5E6tcJZuJCGq0HxIAQeKPf3x9DRKzMnLply6BEzyuAC4g== 38 -----END RSA PRIVATE KEY----- 39 ` 40 ) 41 42 var testblock = "Stuff and nonsense to encode " 43 44 func TestGenerateDigestSignature(t *testing.T) { 45 pk, _ := PrivateKeyFromString([]byte(privateKeyG)) 46 _, err := GenerateDigestSignature(pk, teststr) 47 if err != nil { 48 t.Error("Error generating signature", err) 49 } 50 } 51 52 func TestGenerateSignature(t *testing.T) { 53 pk, _ := PrivateKeyFromString([]byte(privateKeyG)) 54 _, err := GenerateSignature(pk, teststr) 55 if err != nil { 56 t.Error("Error generating signature", err) 57 } 58 } 59 60 func TestPrivateEncrypt(t *testing.T) { 61 pk, _ := PrivateKeyFromString([]byte(privateKeyG)) 62 _, err := privateEncrypt(pk, []byte(teststr)) 63 if err != nil { 64 t.Error("Error encrypting", err) 65 } 66 } 67 68 func TestBasicHashStr(t *testing.T) { 69 hashOut := HashStr(teststr) 70 if hashOut != testsha1 { 71 t.Error("Incorrect SHA1 value") 72 } 73 } 74 75 func TestBasicHashStr256(t *testing.T) { 76 hashOut := HashStr256(teststr) 77 if hashOut != testsha256 { 78 t.Error("Incorrect SHA256 value") 79 } 80 } 81 82 func TestBase64BlockEncode(t *testing.T) { 83 blockOut := Base64BlockEncode([]byte(testblock+testblock+testblock), 60) 84 if len(blockOut) != 2 { 85 t.Errorf("Incorrect number of encoded blocks got %+v", len(blockOut)) 86 } 87 if len(blockOut[0]) != 60 { 88 t.Errorf("Incorrect length of the encoded block got %+v", len(blockOut)) 89 } 90 }