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))