Test METADAPT-B encoding and decoding
This commit is contained in:
		
							parent
							
								
									31930f871b
								
							
						
					
					
						commit
						e872cbe8fd
					
				
							
								
								
									
										62
									
								
								metadaptb_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								metadaptb_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| package hopp | ||||
| 
 | ||||
| import "io" | ||||
| import "bytes" | ||||
| import "errors" | ||||
| import "slices" | ||||
| import "testing" | ||||
| 
 | ||||
| func TestEncodeMessageB(test *testing.T) { | ||||
| 	buffer := new(bytes.Buffer) | ||||
| 	payload := []byte { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 } | ||||
| 	err := encodeMessageB(buffer, 0x6B12, payload) | ||||
| 	correct := []byte { | ||||
| 		0x6B, 0x12, | ||||
| 		0x00, 0x06, | ||||
| 		0x00, 0x01, 0x02, 0x03, 0x04, 0x05, | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		test.Fatal(err) | ||||
| 	} | ||||
| 	if got, correct := buffer.Bytes(), correct; !slices.Equal(got, correct) { | ||||
| 		test.Fatalf("not equal: %v %v", got, correct) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestEncodeMessageBErr(test *testing.T) { | ||||
| 	buffer := new(bytes.Buffer) | ||||
| 	payload := make([]byte, 0x10000) | ||||
| 	err := encodeMessageB(buffer, 0x6B12, payload) | ||||
| 	if !errors.Is(err, ErrPayloadTooLarge) { | ||||
| 		test.Fatalf("wrong error: %v", err) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestDecodeMessageB(test *testing.T) { | ||||
| 	method, payload, err := decodeMessageB(bytes.NewReader([]byte { | ||||
| 		0x6B, 0x12, | ||||
| 		0x00, 0x06, | ||||
| 		0x00, 0x01, 0x02, 0x03, 0x04, 0x05, | ||||
| 	})) | ||||
| 	if err != nil { | ||||
| 		test.Fatal(err) | ||||
| 	} | ||||
| 	if got, correct := method, uint16(0x6B12); got != correct { | ||||
| 		test.Fatalf("not equal: %v %v", got, correct) | ||||
| 	} | ||||
| 	correctPayload := []byte { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 } | ||||
| 	if got, correct := payload, correctPayload; !slices.Equal(got, correct) { | ||||
| 		test.Fatalf("not equal: %v %v", got, correct) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestDecodeMessageBErr(test *testing.T) { | ||||
| 	_, _, err := decodeMessageB(bytes.NewReader([]byte { | ||||
| 		0x6B, 0x12, | ||||
| 		0x01, 0x06, | ||||
| 		0x00, 0x01, 0x02, 0x03, 0x04, 0x05, | ||||
| 	})) | ||||
| 	if !errors.Is(err, io.ErrUnexpectedEOF) { | ||||
| 		test.Fatalf("wrong error: %v", err) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user