From db6e764580f29c658a3f5486b74e13ad4de7abd4 Mon Sep 17 00:00:00 2001 From: Jan Hutter Date: Tue, 29 Nov 2005 09:57:22 +0000 Subject: - added and tested id_payload_t --- Source/charon/testcases/generator_test.c | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'Source/charon/testcases/generator_test.c') diff --git a/Source/charon/testcases/generator_test.c b/Source/charon/testcases/generator_test.c index 1dbef6f83..636ffb224 100644 --- a/Source/charon/testcases/generator_test.c +++ b/Source/charon/testcases/generator_test.c @@ -38,6 +38,7 @@ #include #include #include +#include /* * Described in Header @@ -731,3 +732,57 @@ void test_generator_with_nonce_payload(tester_t *tester) } +/* + * Described in header. + */ +void test_generator_with_id_payload(tester_t *tester) +{ + generator_t *generator; + id_payload_t *id_payload; + logger_t *logger; + chunk_t generated_data; + chunk_t id; + + logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with ID Payload"); + + /* create generator */ + generator = generator_create(); + tester->assert_true(tester,(generator != NULL), "generator create check"); + + id_payload = id_payload_create(FALSE); + + + id.ptr = "123456789012"; + id.len = strlen(id.ptr); + + id_payload->set_id_type(id_payload,ID_IPV4_ADDR); + id_payload->set_data(id_payload,id); + + generator->generate_payload(generator,(payload_t *)id_payload); + generator->write_to_chunk(generator,&generated_data); + logger->log_chunk(logger,RAW,"generated payload",&generated_data); + + + u_int8_t expected_generation[] = { + /* payload header */ + 0x00,0x00,0x00,0x14, + 0x01,0x00,0x00,0x00, + /* id data */ + 0x31,0x32,0x33,0x34, + 0x35,0x36,0x37,0x38, + 0x39,0x30,0x31,0x32, + }; + + logger->log_bytes(logger,RAW,"expected payload",expected_generation,sizeof(expected_generation)); + + tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); + + allocator_free_chunk(&generated_data); + + id_payload->destroy(id_payload); + generator->destroy(generator); + + global_logger_manager->destroy_logger(global_logger_manager,logger); + +} + -- cgit v1.2.3