From f6ba78c370794ea8247b33752a8dbe930b19df1e Mon Sep 17 00:00:00 2001 From: Jan Hutter Date: Mon, 5 Dec 2005 12:21:38 +0000 Subject: - added payload CERT - cleaned code of different states - added additional notify handling --- Source/charon/testcases/generator_test.c | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 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 a2ae01565..de0d13575 100644 --- a/Source/charon/testcases/generator_test.c +++ b/Source/charon/testcases/generator_test.c @@ -40,6 +40,7 @@ #include #include #include +#include #include /* @@ -1052,6 +1053,58 @@ void test_generator_with_auth_payload(tester_t *tester) charon->logger_manager->destroy_logger(charon->logger_manager,logger); } +/* + * Described in header. + */ +void test_generator_with_cert_payload(tester_t *tester) +{ + generator_t *generator; + cert_payload_t *cert_payload; + logger_t *logger; + chunk_t generated_data; + chunk_t cert; + + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with CERT Payload"); + + /* create generator */ + generator = generator_create(); + tester->assert_true(tester,(generator != NULL), "generator create check"); + + cert_payload = cert_payload_create(); + + + cert.ptr = "123456789012"; + cert.len = strlen(cert.ptr); + + cert_payload->set_cert_encoding(cert_payload,PGP_CERTIFICATE); + cert_payload->set_data(cert_payload,cert); + + generator->generate_payload(generator,(payload_t *)cert_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,0x11, + 0x02, + /* cert 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); + + cert_payload->destroy(cert_payload); + generator->destroy(generator); + + charon->logger_manager->destroy_logger(charon->logger_manager,logger); +} + /* * Described in header. */ -- cgit v1.2.3