def test_build_url(self): kwargs = {"limit": "100", "asn": "3333"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=100&asn=3333" ) kwargs = {"limit": "100", "asn": "3333", "tags": "NAT,system-ipv4-works"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=100&tags=NAT,system-ipv4-works&asn=3333" ) kwargs = {"asn": "3333"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=300&asn=3333" ) kwargs = {"limit": "10"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=10" ) kwargs = {} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=300" )
def test_build_url(self): def decostruct_url_params(url_params): """ Pure man's way of splitting args to avoid unpredicted output from python hashed dict keys """ params = url_params.split("&") params[0] = params[0][1:] return set(params) kwargs = {"limit": "100", "asn": "3333"} r = RequestGenerator(**kwargs) self.assertEqual( decostruct_url_params(r.build_url()), set(["limit=100", "asn=3333"]) ) kwargs = {"limit": "100", "asn": "3333", "tags": "NAT,system-ipv4-works"} r = RequestGenerator(**kwargs) self.assertEqual( decostruct_url_params(r.build_url()), set(["limit=100", "tags=NAT,system-ipv4-works", "asn=3333"]) ) kwargs = {"asn": "3333"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?asn=3333" ) kwargs = {"limit": "10"} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "?limit=10" ) kwargs = {} r = RequestGenerator(**kwargs) self.assertEqual( r.build_url(), "" )