diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-16 16:09:05 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-16 16:09:05 +0000 |
| commit | 458b59adcb45b5e3b77dcb8f991b3fd8f9a705bf (patch) | |
| tree | 24cbb5219d25df28d5a9c028ce02415c026dc00c | |
| parent | aa8d7f00d3ae279a0bac46137933540b009aa86d (diff) | |
| download | rabbitmq-server-git-458b59adcb45b5e3b77dcb8f991b3fd8f9a705bf.tar.gz | |
moved snippets tests to rabbitmq_test
| -rw-r--r-- | test/snippets.config | 670 | ||||
| -rw-r--r-- | test/src/rabbit_config_schema_test.erl | 70 |
2 files changed, 0 insertions, 740 deletions
diff --git a/test/snippets.config b/test/snippets.config deleted file mode 100644 index cb98d49d51..0000000000 --- a/test/snippets.config +++ /dev/null @@ -1,670 +0,0 @@ -[ -{1, -"auth_backends.1 = internal", -[{rabbit, [{auth_backends, [rabbit_auth_backend_internal]}]}],[]} -, -{2, -"auth_backends.1 = ldap", -[{rabbit, [{auth_backends, [rabbit_auth_backend_ldap]}]}],[]} -, - -{3, -"auth_backends.1 = ldap -auth_backends.2 = internal", - -[{rabbit, [ - {auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_internal]} - ] - }],[]} - -, - -{4, -"auth_backends.1 = ldap -# uses module name instead of a short alias, \"http\" -auth_backends.2 = rabbit_auth_backend_http", - -[{rabbit, [{auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_http]}]}],[]} - -, - -{5, -"auth_backends.1.authn = internal -# uses module name because this backend is from a 3rd party -auth_backends.1.authz = rabbit_auth_backend_ip_range", -[{rabbit, [{auth_backends, [{rabbit_auth_backend_internal, rabbit_auth_backend_ip_range}]}]}],[]} -, -{6, -"auth_backends.1.authn = ldap -auth_backends.1.authz = internal", -[{rabbit, [{auth_backends, [{rabbit_auth_backend_ldap, rabbit_auth_backend_internal}]}]}],[]} -, - -{7, -"auth_backends.1.authn = ldap -auth_backends.1.authz = internal -auth_backends.2 = internal", -[{rabbit, [ - {auth_backends, [{rabbit_auth_backend_ldap, rabbit_auth_backend_internal}, - rabbit_auth_backend_internal]} - ] - }],[]} -, - - -{8, -"ssl_options.cacertfile = /path/to/testca/cacert.pem -ssl_options.certfile = /path/to/server/cert.pem -ssl_options.keyfile = /path/to/server/key.pem -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = true", -[ - {rabbit, [{ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"}, - {certfile, "/path/to/server/cert.pem"}, - {keyfile, "/path/to/server/key.pem"}, - {verify, verify_peer}, - {fail_if_no_peer_cert, true}]} - ]}],[]} -, - -{9, -"listeners.tcp.default = 5673", -[{rabbit, [{tcp_listeners, [5673]}]}],[]} -, - -{10, -"listeners.ssl = none", -[{rabbit, [{ssl_listeners, []}]}],[]} -, -{11, -"num_acceptors.ssl = 1", -[{rabbit, [{num_ssl_acceptors, 1}]}],[]} -, -{12, -"default_user = guest -default_pass = guest -default_user_tags.administrator = true -default_permissions.configure = .* -default_permissions.read = .* -default_permissions.write = .*", -[{rabbit, [ -{default_user, <<"guest">>}, -{default_pass, <<"guest">>}, -{default_user_tags, [administrator]}, -{default_permissions, [<<".*">>, <<".*">>, <<".*">>]}]}],[]} -, -{13, -"cluster_nodes.disc.1 = rabbit@hostname1 -cluster_nodes.disc.2 = rabbit@hostname2", -[{rabbit, [ - {cluster_nodes, {[rabbit@hostname2,rabbit@hostname1], disc}} -]}],[]} -, -{14, -"tcp_listen_options.backlog = 128 -tcp_listen_options.nodelay = true -tcp_listen_options.exit_on_close = false", -[{rabbit, [{tcp_listen_options, [{backlog, 128}, -{nodelay, true}, -{exit_on_close, false}]}]}],[]} -, -{15, -"auth_backends.1.authn = ldap -auth_backends.1.authz = internal -auth_backends.2 = internal", -[{rabbit,[{auth_backends, [{rabbit_auth_backend_ldap, rabbit_auth_backend_internal}, - rabbit_auth_backend_internal]}]}],[]} -, -{16, -"ldap.servers.1 = some_server - ldap.servers.2 = some_other_server", -[{rabbitmq_auth_backend_ldap, [{servers, ["some_server", "some_other_server"]}]}], -[rabbitmq_auth_backend_ldap]} -, -{17, -"ldap.dn_lookup_attribute = userPrincipalName -ldap.dn_lookup_base = DC=gopivotal,DC=com -ldap.dn_lookup_bind = as_user", -[{rabbitmq_auth_backend_ldap, [{dn_lookup_attribute, "userPrincipalName"}, -{dn_lookup_base, "DC=gopivotal,DC=com"}, -{dn_lookup_bind, as_user}]}], -[rabbitmq_auth_backend_ldap]} -, -{18, -"ldap.dn_lookup_bind.user_dn = username -ldap.dn_lookup_bind.password = password", -[{rabbitmq_auth_backend_ldap, [ -{dn_lookup_bind, {"username", "password"}}]}], -[rabbitmq_auth_backend_ldap]} -, -{19, -"ldap.other_bind = anon", -[{rabbitmq_auth_backend_ldap, [{other_bind, anon}]}], -[rabbitmq_auth_backend_ldap]} -, -{20, -"ldap.other_bind = as_user", -[{rabbitmq_auth_backend_ldap, [{other_bind, as_user}]}], -[rabbitmq_auth_backend_ldap]} -, -{21, -"ldap.other_bind.user_dn = username -ldap.other_bind.password = password", -[{rabbitmq_auth_backend_ldap, [{other_bind, {"username", "password"}}]}], -[rabbitmq_auth_backend_ldap]} -, -{22, -"listeners.tcp.default = 5672 -collect_statistics_interval = 10000 -management.http_log_dir = /tmp/rabbit-mgmt -management.rates_mode = basic", -[{rabbit, [ {tcp_listeners, [5672]}, - {collect_statistics_interval, 10000}]}, - {rabbitmq_management, [ {http_log_dir, "/tmp/rabbit-mgmt"}, - {rates_mode, basic}]} -], -[rabbitmq_management]} -, -{23, -"management.listener.port = 12345", -[{rabbitmq_management, [{listener, [{port, 12345}]}]}], -[rabbitmq_management]} -, -{24, -"management.listener.port = 15671 -management.listener.ssl = true -management.listener.ssl_opts.cacertfile = /path/to/cacert.pem -management.listener.ssl_opts.certfile = /path/to/cert.pem -management.listener.ssl_opts.keyfile = /path/to/key.pem", -[{rabbitmq_management, - [{listener, [{port, 15671}, - {ssl, true}, - {ssl_opts, [{cacertfile, "/path/to/cacert.pem"}, - {certfile, "/path/to/cert.pem"}, - {keyfile, "/path/to/key.pem"}]} - ]} - ]} -], -[rabbitmq_management]} -, -{25, -"management.sample_retention_policies.global.minute = 5 -management.sample_retention_policies.global.hour = 60 -management.sample_retention_policies.global.day = 1200 - -management.sample_retention_policies.basic.minute = 5 -management.sample_retention_policies.basic.hour = 60 - -management.sample_retention_policies.detailed.10 = 5", -[{rabbitmq_management,[ - {sample_retention_policies, - %% List of {MaxAgeInSeconds, SampleEveryNSeconds} - [{global, [{60, 5}, {3600, 60}, {86400, 1200}]}, - {basic, [{60, 5}, {3600, 60}]}, - {detailed, [{10, 5}]}]} -]}], -[rabbitmq_management]} -, -{26, -"vm_memory_high_watermark.absolute = 1073741824", -[{rabbit, [{vm_memory_high_watermark, {absolute, 1073741824}}]}],[]} -, -{27, -"vm_memory_high_watermark.absolute = 1024MB", -[{rabbit, [{vm_memory_high_watermark, {absolute, "1024MB"}}]}],[]} -, -{28, -"vm_memory_high_watermark_paging_ratio = 0.75 -vm_memory_high_watermark.relative = 0.4", -[{rabbit, [{vm_memory_high_watermark_paging_ratio, 0.75}, - {vm_memory_high_watermark, 0.4}]}],[]} -, -{29, -"listeners.tcp.default = 5672 -mqtt.default_user = guest -mqtt.default_pass = guest -mqtt.allow_anonymous = true -mqtt.vhost = / -mqtt.exchange = amq.topic -mqtt.subscription_ttl = 1800000 -mqtt.prefetch = 10 -mqtt.listeners.ssl = none -## Default MQTT with TLS port is 8883 -# mqtt.listeners.ssl.default = 8883 -mqtt.listeners.tcp.default = 1883 -mqtt.tcp_listen_options.backlog = 128 -mqtt.tcp_listen_options.nodelay = true", -[{rabbit, [{tcp_listeners, [5672]}]}, - {rabbitmq_mqtt, [{default_user, <<"guest">>}, - {default_pass, <<"guest">>}, - {allow_anonymous, true}, - {vhost, <<"/">>}, - {exchange, <<"amq.topic">>}, - {subscription_ttl, 1800000}, - {prefetch, 10}, - {ssl_listeners, []}, - %% Default MQTT with TLS port is 8883 - %% {ssl_listeners, [8883]} - {tcp_listeners, [1883]}, - {tcp_listen_options, [{backlog, 128}, - {nodelay, true}]}]} - ], -[rabbitmq_mqtt]} -, -{30, -"ssl_options.cacertfile = /path/to/tls/ca/cacert.pem -ssl_options.certfile = /path/to/tls/server/cert.pem -ssl_options.keyfile = /path/to/tls/server/key.pem -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = true - -mqtt.listeners.ssl.default = 8883 -mqtt.listeners.tcp.default = 1883", -[{rabbit, [ - {ssl_options, [{cacertfile, "/path/to/tls/ca/cacert.pem"}, - {certfile, "/path/to/tls/server/cert.pem"}, - {keyfile, "/path/to/tls/server/key.pem"}, - {verify, verify_peer}, - {fail_if_no_peer_cert, true}]} - ]}, - {rabbitmq_mqtt, [ - {ssl_listeners, [8883]}, - {tcp_listeners, [1883]} - ]} - ], -[rabbitmq_mqtt]} -, -{31, -"mqtt.ssl_cert_login = true", -[{rabbitmq_mqtt, [{ssl_cert_login, true}]}], [rabbitmq_mqtt]} -, - -{32, -"ssl_cert_login_from = common_name", -[{rabbit, [{ssl_cert_login_from, common_name}]}], [rabbitmq_mqtt]} -, - - -{33, -"listeners.tcp.default = 5672 -mqtt.default_user = guest -mqtt.default_pass = guest -mqtt.allow_anonymous = true -mqtt.vhost = / -mqtt.exchange = amq.topic -mqtt.subscription_ttl = undefined -mqtt.prefetch = 10", -[{rabbit, [{tcp_listeners, [5672]}]}, - {rabbitmq_mqtt, [{default_user, <<"guest">>}, - {default_pass, <<"guest">>}, - {allow_anonymous, true}, - {vhost, <<"/">>}, - {exchange, <<"amq.topic">>}, - {subscription_ttl, undefined}, - {prefetch, 10}]} - ], -[rabbitmq_mqtt]} -, -{34, -"mqtt.default_user = guest -mqtt.default_pass = guest -mqtt.allow_anonymous = true -mqtt.vhost = / -mqtt.exchange = amq.topic -mqtt.subscription_ttl = 1800000 -mqtt.prefetch = 10 -## use DETS (disk-based) store for retained messages -mqtt.retained_message_store = rabbit_mqtt_retained_msg_store_dets -## only used by DETS store -mqtt.retained_message_store_dets_sync_interval = 2000 - -mqtt.listeners.ssl = none -mqtt.listeners.tcp.default = 1883", -[{rabbitmq_mqtt, [{default_user, <<"guest">>}, - {default_pass, <<"guest">>}, - {allow_anonymous, true}, - {vhost, <<"/">>}, - {exchange, <<"amq.topic">>}, - {subscription_ttl, 1800000}, - {prefetch, 10}, - %% use DETS (disk-based) store for retained messages - {retained_message_store, rabbit_mqtt_retained_msg_store_dets}, - %% only used by DETS store - {retained_message_store_dets_sync_interval, 2000}, - {ssl_listeners, []}, - {tcp_listeners, [1883]}]} - ], -[rabbitmq_mqtt]} -, - -{35, -"listeners.tcp.1 = 192.168.1.99:5672", -[ - {rabbit, [ - {tcp_listeners, [{"192.168.1.99", 5672}]} - ]} -], []} -, -{36, -"listeners.tcp.1 = 127.0.0.1:5672 -listeners.tcp.2 = ::1:5672", -[ - {rabbit, [ - {tcp_listeners, [{"127.0.0.1", 5672}, - {"::1", 5672}]} - ]} -], []} -, -{37, -"listeners.tcp.1 = :::5672", -[ - {rabbit, [ - {tcp_listeners, [{"::", 5672}]} - ]} -], []} -, -{38, -"listeners.tcp.1 = 192.168.1.99:5672", -[ - {rabbit, [ - {tcp_listeners, [{"192.168.1.99", 5672}]} - ]} -], []} -, -{39, -"listeners.tcp.1 = fe80::2acf:e9ff:fe17:f97b:5672", -[ - {rabbit, [ - {tcp_listeners, [{"fe80::2acf:e9ff:fe17:f97b", 5672}]} - ]} -], []} -, -{40, -"tcp_listen_options.backlog = 128 -tcp_listen_options.nodelay = true -tcp_listen_options.sndbuf = 196608 -tcp_listen_options.recbuf = 196608", -[ - {rabbit, [ - {tcp_listen_options, [ - {backlog, 128}, - {nodelay, true}, - {sndbuf, 196608}, - {recbuf, 196608} - ]} - ]} -], []} -, - -{42, -"tcp_listen_options.backlog = 4096 -tcp_listen_options.nodelay = true", -[ - {kernel, [ - {inet_default_connect_options, [{nodelay, true}]}, - {inet_default_listen_options, [{nodelay, true}]} - ]}] -, -[ - {kernel, [ - {inet_default_connect_options, [{nodelay, true}]}, - {inet_default_listen_options, [{nodelay, true}]} - ]}, - {rabbit, [ - {tcp_listen_options, [ - {backlog, 4096}, - {nodelay, true} - ]} - ]} -], []} -, - -{43, -"tcp_listen_options.backlog = 4096 -tcp_listen_options.nodelay = true", -[ - {rabbit, [ - {tcp_listen_options, [ - {backlog, 4096}, - {nodelay, true} - ]} - ]} -], []} -, - -{44, -"ssl_handshake_timeout = 10000", -[ - {rabbit, [ - %% 10 seconds - {ssl_handshake_timeout, 10000} - ]} -], []} -, - -{45, -"cluster_partition_handling = pause_if_all_down - -## Recover strategy. Can be either 'autoheal' or 'ignore' -cluster_partition_handling.pause_if_all_down.recover = ignore - -## Node names to check -cluster_partition_handling.pause_if_all_down.nodes.1 = rabbit@myhost1 -cluster_partition_handling.pause_if_all_down.nodes.2 = rabbit@myhost2", -[{rabbit, [{cluster_partition_handling, {pause_if_all_down, [rabbit@myhost2, rabbit@myhost1], ignore}}]}], []} -, -{46, -"cluster_partition_handling = autoheal", -[{rabbit, [{cluster_partition_handling, autoheal}]}], []} -, -{47, -"password_hashing_module = rabbit_password_hashing_sha512", -[ - {rabbit, [{password_hashing_module, rabbit_password_hashing_sha512}]} -],[]} -, - -{48, -"listeners.ssl.1 = 5671 -ssl_options.cacertfile = /path/to/testca/cacert.pem -ssl_options.certfile = /path/to/server/cert.pem -ssl_options.keyfile = /path/to/server/key.pem -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = false" -, -[ - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"}, - {certfile,"/path/to/server/cert.pem"}, - {keyfile,"/path/to/server/key.pem"}, - {verify,verify_peer}, - {fail_if_no_peer_cert,false}]} - ]} -],[]} -, - - -{49, -"listeners.ssl.1 = 5671 -ssl_options.cacertfile = /path/to/ca_certificate.pem -ssl_options.certfile = /path/to/server_certificate.pem -ssl_options.keyfile = /path/to/server_key.pem -ssl_options.password = t0p$3kRe7", -[ - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [{cacertfile,"/path/to/ca_certificate.pem"}, - {certfile, "/path/to/server_certificate.pem"}, - {keyfile, "/path/to/server_key.pem"}, - {password, "t0p$3kRe7"} - ]} - ]} -],[]} -, - -{50, -"listeners.ssl.1 = 5671 -ssl_options.cacertfile = /path/to/ca_certificate.pem -ssl_options.certfile = /path/to/server_certificate.pem -ssl_options.keyfile = /path/to/server_key.pem -ssl_options.versions.tls1_2 = tlsv1.2 -ssl_options.versions.tls1_1 = tlsv1.1 -ssl_options.versions.tls1 = tlsv1", -[{ssl, [{versions, ['tlsv1.2', 'tlsv1.1', tlsv1]}]}], -[{ssl, [{versions, ['tlsv1.2', 'tlsv1.1', tlsv1]}]}, - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [{cacertfile,"/path/to/ca_certificate.pem"}, - {certfile, "/path/to/server_certificate.pem"}, - {keyfile, "/path/to/server_key.pem"}, - {versions, ['tlsv1.2', 'tlsv1.1', tlsv1]} - ]} - ]} -],[]} -, -{51, -"listeners.ssl.1 = 5671 -ssl_options.cacertfile = /path/to/ca_certificate.pem -ssl_options.certfile = /path/to/server_certificate.pem -ssl_options.keyfile = /path/to/server_key.pem -ssl_options.versions.tls1_2 = tlsv1.2 -ssl_options.versions.tls1_1 = tlsv1.1", -[{ssl, [{versions, ['tlsv1.2', 'tlsv1.1']}]}], -[ - {ssl, [{versions, ['tlsv1.2', 'tlsv1.1']}]}, - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [{cacertfile,"/path/to/ca_certificate.pem"}, - {certfile, "/path/to/server_certificate.pem"}, - {keyfile, "/path/to/server_key.pem"}, - {versions, ['tlsv1.2', 'tlsv1.1']} - ]} - ]} -],[]} -, -{52, -"listeners.ssl.1 = 5671 -ssl_allow_poodle_attack = true -ssl_options.cacertfile = /path/to/testca/cacert.pem -ssl_options.certfile = /path/to/server/cert.pem -ssl_options.keyfile = /path/to/server/key.pem -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = false", -[ - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_allow_poodle_attack, true}, - {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"}, - {certfile,"/path/to/server/cert.pem"}, - {keyfile,"/path/to/server/key.pem"}, - {verify,verify_peer}, - {fail_if_no_peer_cert,false}]} - ]} -],[]} -, -{53, -"listeners.ssl.1 = 5671 -ssl_options.cacertfile = /path/to/testca/cacert.pem -ssl_options.certfile = /path/to/server/cert.pem -ssl_options.keyfile = /path/to/server/key.pem -ssl_options.depth = 2 -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = false", -[ - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"}, - {certfile,"/path/to/server/cert.pem"}, - {keyfile,"/path/to/server/key.pem"}, - {depth, 2}, - {verify,verify_peer}, - {fail_if_no_peer_cert,false}]} - ]} -],[]} -, -{54, -"stomp.listeners.tcp.1 = 12345", -[{rabbitmq_stomp, [{tcp_listeners, [12345]}]}],[rabbitmq_stomp]} -, -{55, -"stomp.listeners.tcp.1 = 127.0.0.1:61613 -stomp.listeners.tcp.2 = ::1:61613", -[{rabbitmq_stomp, [{tcp_listeners, [{"127.0.0.1", 61613}, - {"::1", 61613}]}]}],[rabbitmq_stomp]} -, -{56, -"ssl_options.cacertfile = /path/to/tls/ca/cacert.pem -ssl_options.certfile = /path/to/tls/server/cert.pem -ssl_options.keyfile = /path/to/tls/server/key.pem -ssl_options.verify = verify_peer -ssl_options.fail_if_no_peer_cert = true - -stomp.listeners.tcp.1 = 61613 -stomp.listeners.ssl.1 = 61614", -[{rabbit,[ -{ssl_options, [{cacertfile, "/path/to/tls/ca/cacert.pem"}, - {certfile, "/path/to/tls/server/cert.pem"}, - {keyfile, "/path/to/tls/server/key.pem"}, - {verify, verify_peer}, - {fail_if_no_peer_cert, true}]}]}, -{rabbitmq_stomp, [{tcp_listeners, [61613]}, -{ssl_listeners, [61614]}]} - ],[]} -, - -{57, -"stomp.default_user = guest -stomp.default_pass = guest", -[{rabbitmq_stomp, [{default_user, [{login, "guest"},{passcode, "guest"}]}]}], -[rabbitmq_stomp]} -, -{58, -"stomp.ssl_cert_login = true", -[{rabbitmq_stomp, [{ssl_cert_login, true}]}], -[rabbitmq_stomp]} -, -{59, -"ssl_cert_login_from = common_name", -[{rabbit, [{ssl_cert_login_from, common_name}]}], []} -, -{60, -"stomp.default_user = guest -stomp.default_pass = guest -stomp.implicit_connect = true", -[{rabbitmq_stomp, [{default_user,[{login, "guest"}, {passcode, "guest"}]},{implicit_connect, true}]}], -[rabbitmq_stomp]} -, -{61, -"stomp.default_vhost = /", -[{rabbitmq_stomp, [{default_vhost, <<"/">>}]}], -[rabbitmq_stomp]} -, -{62, -"management.listener.port = 15672 -management.listener.ip = 127.0.0.1", -[{rabbitmq_management, - [{listener, [{port, 15672}, - {ip, "127.0.0.1"} - ]} - ]} -], -[rabbitmq_management]} -, -{63, -"management.listener.port = 15672 -management.listener.ssl = true - -management.listener.ssl_opts.cacertfile = /path/to/cacert.pem -management.listener.ssl_opts.certfile = /path/to/cert.pem -management.listener.ssl_opts.keyfile = /path/to/key.pem", -[{rabbitmq_management, - [{listener, [{port, 15672}, - {ssl, true}, - {ssl_opts, [{cacertfile, "/path/to/cacert.pem"}, - {certfile, "/path/to/cert.pem"}, - {keyfile, "/path/to/key.pem"}]} - ]} - ]} -], -[rabbitmq_management]}]. diff --git a/test/src/rabbit_config_schema_test.erl b/test/src/rabbit_config_schema_test.erl deleted file mode 100644 index 54ddc696f7..0000000000 --- a/test/src/rabbit_config_schema_test.erl +++ /dev/null @@ -1,70 +0,0 @@ --module(rabbit_config_schema_test). - --export([test_snippet/3]). --compile(export_all). - - -run_snippets(FileName) -> - {ok, [Snippets]} = file:consult(FileName), - lists:map( - fun({N,S,C,P}) -> test_snippet({integer_to_list(N),S,[]},C,P); - ({N,S,A,C,P}) -> test_snippet({integer_to_list(N),S,A},C,P) - end, - Snippets). - -test_snippet(Snippet, Expected, Plugins) -> - {Conf, Advanced} = write_snippet(Snippet), - rabbit_file:recursive_delete("generated"), - prepare_schemas(Plugins), - SchemaDir = rabbit_config:schema_dir(), - {ok, GeneratedFile} = generate_config(Conf, Advanced, SchemaDir), - {ok, [Generated]} = file:consult(GeneratedFile), - Gen = deepsort(Generated), - Exp = deepsort(Expected), - case Exp of - Gen -> ok; - _ -> - error({config_mismatch, Snippet, Exp, Gen}) - end. - -write_snippet({Name, Config, Advanced}) -> - rabbit_file:recursive_delete(filename:join(["examples", Name])), - file:make_dir("examples"), - file:make_dir(filename:join(["examples", Name])), - ConfFile = filename:join(["examples", Name, "config.conf"]), - AdvancedFile = filename:join(["examples", Name, "advanced.config"]), - - file:write_file(ConfFile, Config), - rabbit_file:write_term_file(AdvancedFile, [Advanced]), - {ConfFile, AdvancedFile}. - - -generate_config(Conf, Advanced, SchemaDir) -> - ScriptDir = case init:get_argument(conf_script_dir) of - {ok, D} -> D; - _ -> "scripts" - end, - rabbit_config:generate_config_file([Conf], ".", ScriptDir, - SchemaDir, Advanced). - -prepare_schemas(Plugins) -> - {ok, EnabledFile} = application:get_env(rabbit, enabled_plugins_file), - rabbit_file:write_term_file(EnabledFile, [Plugins]). - - - -deepsort(List) -> - case is_proplist(List) of - true -> - lists:keysort(1, lists:map(fun({K,V}) -> {K, deepsort(V)}; - (V) -> V end, - List)); - false -> - case is_list(List) of - true -> lists:sort(List); - false -> List - end - end. - -is_proplist([{_K,_V}|_] = List) -> lists:all(fun({_K,_V}) -> true; (_) -> false end, List); -is_proplist(_) -> false. |
