void test_to_xml_signal (void) { GError *error = NULL; egg = milter_manager_egg_new("milter@10025"); milter_manager_egg_set_connection_spec(egg, "inet:10025", &error); gcut_assert_error(error); milter_manager_egg_set_command(egg, "test-milter"); milter_manager_egg_set_command_options(egg, "--user nobody"); milter_manager_configuration_add_egg(config, egg); actual_xml = milter_manager_configuration_to_xml(config); cut_assert_equal_string( "<configuration>\n" " <milters>\n" " <milter>\n" " <name>milter@10025</name>\n" " <enabled>true</enabled>\n" " <fallback-status>accept</fallback-status>\n" " <evaluation-mode>false</evaluation-mode>\n" " <connection-spec>inet:10025</connection-spec>\n" " <command>test-milter</command>\n" " <command-options>--user nobody</command-options>\n" " </milter>\n" " </milters>\n" "</configuration>\n", actual_xml); g_signal_connect(config, "to-xml", G_CALLBACK(cb_to_xml), NULL); g_free(actual_xml); actual_xml = milter_manager_configuration_to_xml(config); cut_assert_equal_string( "<configuration>\n" " <milters>\n" " <milter>\n" " <name>milter@10025</name>\n" " <enabled>true</enabled>\n" " <fallback-status>accept</fallback-status>\n" " <evaluation-mode>false</evaluation-mode>\n" " <connection-spec>inet:10025</connection-spec>\n" " <command>test-milter</command>\n" " <command-options>--user nobody</command-options>\n" " </milter>\n" " </milters>\n" " <additional-field>VALUE</additional-field>\n" "</configuration>\n", actual_xml); }
void test_children (void) { MilterManagerChild *child; gboolean attached_to = FALSE; GError *error = NULL; egg = milter_manager_egg_new("child-milter"); milter_manager_egg_set_connection_spec(egg, "inet:2929@localhost", &error); gcut_assert_error(error); condition = milter_manager_applicable_condition_new("S25R"); milter_manager_egg_add_applicable_condition(egg, condition); g_signal_connect(condition, "attach-to", G_CALLBACK(cb_attach_to), &attached_to); another_egg = milter_manager_egg_new("brother-milter"); milter_manager_egg_set_connection_spec(another_egg, "inet:29292@localhost", &error); gcut_assert_error(error); milter_manager_egg_set_enabled(another_egg, FALSE); milter_manager_configuration_add_egg(config, egg); milter_manager_configuration_add_egg(config, another_egg); child = milter_manager_egg_hatch(egg); milter_manager_children_add_child(expected_children, child); g_object_unref(child); cut_assert_false(attached_to); if (actual_children) g_object_unref(actual_children); actual_children = milter_manager_children_new(config, loop); milter_manager_configuration_setup_children(config, actual_children, NULL); milter_assert_equal_children(expected_children, actual_children); cut_assert_true(attached_to); }
void test_to_xml_full (void) { GError *error = NULL; egg = milter_manager_egg_new("milter@10025"); milter_manager_egg_set_connection_spec(egg, "inet:10025", &error); gcut_assert_error(error); milter_manager_egg_set_command(egg, "test-milter"); milter_manager_configuration_add_egg(config, egg); condition = milter_manager_applicable_condition_new("S25R"); milter_manager_applicable_condition_set_description( condition, "Selective SMTP Rejection"); milter_manager_configuration_add_applicable_condition(config, condition); actual_xml = milter_manager_configuration_to_xml(config); cut_assert_equal_string( "<configuration>\n" " <applicable-conditions>\n" " <applicable-condition>\n" " <name>S25R</name>\n" " <description>Selective SMTP Rejection</description>\n" " </applicable-condition>\n" " </applicable-conditions>\n" " <milters>\n" " <milter>\n" " <name>milter@10025</name>\n" " <enabled>true</enabled>\n" " <fallback-status>accept</fallback-status>\n" " <evaluation-mode>false</evaluation-mode>\n" " <connection-spec>inet:10025</connection-spec>\n" " <command>test-milter</command>\n" " </milter>\n" " </milters>\n" "</configuration>\n", actual_xml); }