def test_create_multiple_statics_from_string(self): string = ''' [{ "router_id": "rtr-1234abcd", "vxnet_id": "", "router_static_name": "filter", "static_type": 5, "router_static_id": "rtrs-1234abcd", "console_id": "qingcloud", "val3": "192.168.100.3", "controller": "self", "create_time": "2013-11-11T07:02:14Z", "val2": "80", "val1": "192.168.1.2", "val6": "drop", "val5": "4", "val4": "800" }, { "router_id":"rtr-1234abcd","vxnet_id":"","router_static_name":null, "static_type":2,"router_static_id":"rtrs-1234abcd", "console_id":"qingcloud","val3":"tcp","controller":"self", "create_time":"2014-01-27T11:22:30Z", "val2":"1194","val1":"openvpn","val6":"","val5":"","val4":"10.255.1.0/24" }, { "router_id":"rtr-ji5ais2q", "entry_set": [{"router_static_entry_id":"rse-gbgwguzq","val1":"test"}], "vxnet_id":"","router_static_id":"rtrs-9fh7wxrf","static_type":2, "router_static_name":null,"console_id":"qingcloud","val3":"253", "controller":"self","create_time":"2014-01-27T11:22:42Z", "owner":"usr-qkMLt5Oo","val2":"","val1":"pptp","val6":"","val5":"", "val4":"10.255.2.0/24" }, { "router_id": "rtr-1234abcd", "vxnet_id": "", "router_static_name": "fp1", "static_type": 1, "router_static_id": "rtrs-1234abcd", "console_id": "qingcloud", "val3": "80", "controller": "self", "create_time": "2014-01-26T16:58:51Z", "val2": "192.168.100.2", "val1": "80", "val6": "", "val5": "", "val4": "tcp" }, { "router_id": "rtr-1234abcd", "vxnet_id": "vxnet-1234abcd", "router_static_name": null, "static_type": 4, "router_static_id": "rtrs-1234abcd", "console_id": "qingcloud", "val3": "", "controller": "self", "create_time": "2013-11-11T03:02:37Z", "val2": "", "val1": "gre|182.32.32.1|1234;gre|12.1.12.2|123123", "val6": "", "val5": "", "val4": "" }] ''' rtrs = RouterStaticFactory.create_from_string(string) self.assertEqual(len(rtrs), 5) self.assertTrue(isinstance(rtrs[0], _StaticForFiltering)) self.assertTrue(isinstance(rtrs[1], _StaticForVPN)) self.assertTrue(isinstance(rtrs[2], _StaticForVPN)) self.assertTrue(isinstance(rtrs[3], _StaticForPortForwarding)) self.assertTrue(isinstance(rtrs[4], _StaticForTunnel))
def test_create_single_static_from_string(self): string = ''' { "router_id": "rtr-1234abcd", "vxnet_id": "", "router_static_name": "filter", "static_type": 5, "router_static_id": "rtrs-1234abcd", "console_id": "qingcloud", "val3": "192.168.100.3", "controller": "self", "create_time": "2013-11-11T07:02:14Z", "val2": "80", "val1": "192.168.1.2", "val6": "drop", "val5": "4", "val4": "800" } ''' rtr = RouterStaticFactory.create_from_string(string) self.assertTrue(isinstance(rtr, _StaticForFiltering))