def test_capabilities_filter_featuretype_private_layer(self): xml = load_file(TestFilterCapabilities.capabilities_file) layers_whitelist = set() layers_whitelist.add("parks") filtered_xml = self._filter_xml(xml, "FeatureType", layers_whitelist) self.assertTrue("<Name>tows:parks</Name>" in filtered_xml)
def test_capabilities_filter_featuretype_private_layer(self): xml = load_file(TestFilterCapabilities.capabilities_file) layers_whitelist = set() layers_whitelist.add("parks") filtered_xml = self._filter_xml(xml, "FeatureType", layers_whitelist) self.assertTrue("<Name>tows:parks</Name>" in filtered_xml)
def show_results(nb): window_size = int(nb / 20) for name in networks: res = tests.load_file("results/botnet_Compare_%s_all_%d.out" % (name, nb)) network = network_from_file("graphs//" + name)[0] real_res = [] exp_res = [] pol_res = [] final_perf = [] for x in res: (b, real_rewards, expected_rewards, policy_rewards, actions, perf, time) = x real_rewards = np.array(real_rewards) expected_rewards = np.array(expected_rewards) policy_rewards = np.array(policy_rewards) perf = np.array(perf) time = np.array(time) real_rewards = np.mean(real_rewards, axis=0) expected_rewards = np.mean(expected_rewards, axis=0) policy_rewards = np.mean(policy_rewards, axis=0) real_res.append((b, real_rewards)) exp_res.append((b, expected_rewards)) pol_res.append((b, policy_rewards)) final_perf.append((b, np.mean(perf), np.max(perf), np.mean(time), np.min(time), actions)) subplot(2, 2, 1) for (name, perf) in real_res: tests.plot_perf(perf, window_size, name) ylabel("Real rewards") #f = figure(2) axis(sharex=True) subplot(2, 2, 3) for (name, perf) in exp_res: tests.plot_perf(perf, window_size, name) ylabel("Expected rewards") #f = figure(3) axis(sharex=True) subplot(1, 2, 2) for (name, perf) in pol_res: tests.plot_perf(perf, window_size, name) ylabel("Policy rewards") tests.show_with_legend(f) for (b_name, mean_p, max_p, mean_t, min_t, actions) in final_perf: print(b_name, "Mean perf:", mean_p, "Max perf:", max_p, "Mean time:", mean_t, "Min time:", min_t, "Actions:", actions, sep='\t') x = input("Enter something to exit :")
def test_proxy_get_capabilities_user2(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request(username="******") responses.get( url="http://mapserver:8080/", body=load_file(self.capabilities_response_file), ) response = TinyOWSProxy(request).proxy() self.assertEqual( load_file(self.capabilities_response_filtered_file2).strip(), response.body.decode().replace(" \n", "").strip(), ) self.assertEqual("200 OK", response.status)
def show_results(): for name in networks: network = network_from_file("graphs//" + name)[0] b = "ThompsonSampling" [actions, times, rewards, values] = tests.load_file( "results/beta_%d_%s_%d.out" % (network.size, b, nb_trials)) tests.plot_with_legend(values, times, "Time") tests.plot_with_legend(values, rewards, "Reward") tests.show_with_legend()
def test_proxy_get_capabilities_get(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request(username="******") request.params.update( dict(service="wfs", version="1.1.0", request="GetCapabilities")) responses.get( url="http://mapserver:8080/", body=load_file(self.capabilities_response_file), ) response = TinyOWSProxy(request).proxy() self.assertEqual( load_file(self.capabilities_response_filtered_file1).strip(), response.body.decode().replace(" \n", "").strip(), ) self.assertEqual("200 OK", response.status)
def test_parse_body_getcapabilities(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request() request.body = load_file( TestTinyOWSProxyViewNoDb.capabilities_request_file) (operation, typename) = TinyOWSProxy(request)._parse_body(request.body) self.assertEqual("getcapabilities", operation) self.assertEqual(set(), typename)
def test_parse_body_transaction_insert(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request() request.body = load_file( TestTinyOWSProxyViewNoDb.transaction_insert_request_file) (operation, typename) = TinyOWSProxy(request)._parse_body(request.body) self.assertEqual("transaction", operation) self.assertEqual({"parks"}, typename)
def test_parse_body_describefeaturetype(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request() request.body = load_file( TestTinyOWSProxyViewNoDb.describefeature_request_file) (operation, typename) = TinyOWSProxy(request)._parse_body(request.body) self.assertEqual("describefeaturetype", operation) self.assertEqual(set(["layer_1"]), typename)
def setUp(self): self.yaml_str = load_file("control.yaml") self.control = ControlFile() self.control.config = { "access_key": "foo", "secret_key": "baz", "region": "eu-central-1", "sqs_s3_queue": "http://foo-queue", } # set mock clients self.control._sqs_client = unittest.mock.MagicMock()
def test_proxy_describe_feature_type_post_multiple_types(self): from pyramid.httpexceptions import HTTPBadRequest from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request(username="******") request.method = "POST" request.body = load_file( TestTinyOWSProxyView.describefeaturetype_request_multiple_file) with pytest.raises(HTTPBadRequest): TinyOWSProxy(request).proxy()
def show_results(): botnets_names = [ "RewardTentative", "Sarsa", "QLearning", "QLearning - Potential", "ThompsonSampling", "ModelBasedThompson", "FullModelBasedThompson" ] for name in networks: network = network_from_file("graphs//" + name)[0] print(name) for b in botnets_names: print(b) [actions, times, rewards, values] = tests.load_file( "results/gamma_%d_%s_%d.out" % (network.size, b, nb_trials)) tests.plot_with_legend(values, times, b) tests.show_with_legend()
def show_results(): for name in networks: network = network_from_file("graphs//" + name)[0] b = FullModelBasedThompson(thompson_standard, network.graph, gamma=0.9, nb_trials=nb_trials, initial_nodes=network.initial_nodes) [actions, times, rewards, values] = tests.load_file( "results/alpha_p_%d_%s_%d.out" % (network.size, b.type, nb_trials)) values = [math.log(v, 10) for v in values] tests.plot_with_legend(values, times, "Time") tests.plot_with_legend(values, rewards, "Reward") tests.show_with_legend()
def show_results(): botnets_names = [ "Sarsa", "QLearning", "QLearning - Potential", "ThompsonSampling" ] for name in networks: network = network_from_file("graphs//" + name)[0] print(name) for b in botnets_names: print(b) [actions, times, rewards, values] = tests.load_file( "results/alpha_%d_%s_%d.out" % (network.size, b, nb_trials)) values = [math.log(v, 10) for v in values] tests.plot_with_legend(values, times, "Time") tests.plot_with_legend(values, rewards, "Reward") tests.show_with_legend()
def test_proxy_describe_feature_type_post(self): from c2cgeoportal_geoportal.views.tinyowsproxy import TinyOWSProxy request = _create_dummy_request(username="******") request.method = "POST" request.body = load_file( TestTinyOWSProxyView.describefeaturetype_request_file) responses.post( url="http://mapserver:8080/", body="unfiltered response", ) response = TinyOWSProxy(request).proxy() self.assertEqual("200 OK", response.status)
import unittest from ddt import ddt, data, unpack from yew.core.components import Component from tests import load_file servers = load_file("examples/configuration/base.yaml") @ddt class BaseTestCases(unittest.TestCase): @data( ["ProxyAccept", "::ffff:192.168.1.1", True], ["ProxyAccept", "::ffff:127.0.0.0", True], ["ProxyAccept", "::ffff:127.1.0.0", False], ["ProxyRefuse", "::ffff:127.0.0.1", False], ["ProxyRefuse", "::ffff:192.168.1.10", False], ["ProxyRefuse", "::ffff:192.168.1.11", True], ) @unpack def test_accept_filter(self, server_name, ip, result): assert servers[server_name].can_accept_ip(ip) is result @data( ["Group1", "io", "pwd", True], ["Group1", "foo", "bar", True], ["Group1", "io", "bar", False], ) @unpack def test_user_authentication(self, component_name, usr, pwd, result): assert Component.get("groups", component_name).validate_user(
def test_should_parser_item_from_response(self): links = parser.get_links(load_file('tests/resources/results.html')) self.assertEqual(len(links), 30)
def load_response_file(filename: str) -> dict: return load_file(os.path.join("response/", filename))
def load_horizon_file(filename: str) -> dict: return load_file(os.path.join("model/horizon/", filename))
import unittest from ddt import ddt, data, unpack from yew.modules.http.http import HTTPRequest, HTTPResponse from yew.core.buffer import Buffer from yew.core.components import Component from tests import load_file servers = load_file("examples/configuration/parent.yaml") @ddt class ParentTestCases(unittest.TestCase): @data([ "ParentProxy", 1, "HTTP/1.1 407 whatever\r\nServer: Fancy 1.0\r\n\r\n" ], [ "ParentProxy", 4, "HTTP/1.1 502 whatever\r\nServer: Fancy 1.0\r\n\r\n" ], [ "ParentProxy", 0, "HTTP/1.1 200 whatever\r\nServer: Fancy 1.0\r\n\r\n" ]) @unpack def test_parent_connect_response(self, componen_name, res, response): ret = Component.get("upstreams", componen_name).recv_connect_handle( HTTPResponse.from_buffer(Buffer(response.encode()))) assert ret == res @data( ["RemoteProxy", "ParentProxy", True], ["RemoteProxy", "ParentProxyWrongCredentials", False], ) @unpack
import unittest from ddt import ddt, data, unpack from yew.modules.http.http import HTTPRequest from yew.core.buffer import Buffer from yew.core.components import Component from tests import load_file servers = load_file("examples/configuration/rewrite.yaml") @ddt class RewriteTestCases(unittest.TestCase): @data( ["ReverseProxy", "SiteA", "GET / HTTP/1.1\r\nHost: www.site-a.com\r\n\r\n"], ["ReverseProxy", "SiteB", "GET / HTTP/1.1\r\nHost: www.site-b.com\r\n\r\n"], ["ReverseProxy", "ReverseDefault", "GET / HTTP/1.1\r\nHost: www.foo-bar.com\r\n\r\n"], ) @unpack def test_upstream_selection(self, server_name, upstream_name, request): request = HTTPRequest.from_buffer(Buffer(request.encode())) assert servers[server_name].get_upstream(request) == Component.get( "upstreams", upstream_name) @data( ["APIGateway", "/v1/shop/1/products", "GET /api/shop/1/products?foo=bar HTTP/1.1\r\nHost: www.fancy-service.com\r\n\r\n"