| 
									
										
										
										
											2016-01-23 03:15:39 +08:00
										 |  |  | package util | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	. "github.com/smartystreets/goconvey/convey" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestEncryption(t *testing.T) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	Convey("When getting encryption key", t, func() { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-26 05:15:29 +08:00
										 |  |  | 		key := encryptionKeyToBytes("secret", "salt") | 
					
						
							| 
									
										
										
										
											2016-01-23 03:15:39 +08:00
										 |  |  | 		So(len(key), ShouldEqual, 32) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-26 05:15:29 +08:00
										 |  |  | 		key = encryptionKeyToBytes("a very long secret key that is larger then 32bytes", "salt") | 
					
						
							| 
									
										
										
										
											2016-01-23 03:15:39 +08:00
										 |  |  | 		So(len(key), ShouldEqual, 32) | 
					
						
							|  |  |  | 	}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	Convey("When decrypting basic payload", t, func() { | 
					
						
							| 
									
										
										
										
											2017-04-25 15:14:29 +08:00
										 |  |  | 		encrypted, encryptErr := Encrypt([]byte("grafana"), "1234") | 
					
						
							|  |  |  | 		decrypted, decryptErr := Decrypt(encrypted, "1234") | 
					
						
							| 
									
										
										
										
											2016-01-23 03:15:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-25 15:14:29 +08:00
										 |  |  | 		So(encryptErr, ShouldBeNil) | 
					
						
							|  |  |  | 		So(decryptErr, ShouldBeNil) | 
					
						
							| 
									
										
										
										
											2016-01-23 03:15:39 +08:00
										 |  |  | 		So(string(decrypted), ShouldEqual, "grafana") | 
					
						
							|  |  |  | 	}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |