class ZoneTests(unittest2.TestCase): def setUp(self): self.auth = ('*****@*****.**', 'secret-key') self.request = Mock() self.point = Point(self.auth[0], self.auth[1], self.request) def test_collection_retrieve(self): self.request.return_value = Response(200, '[{"zone": {"id": 1}}]') zone = self.point.zones.retrieve() self.request.assert_called_once_with('get', '/zones', self.auth, None) self.assertEqual(zone, [{'zone': {'id': 1}}]) def test_collection_retrieve_failure(self): self.request.return_value = Response(201) with self.assertRaises(exceptions.UnknownError): self.point.zones.retrieve() def test_collection_create(self): self.request.return_value = Response(201, '{"zone": {"id": 1}}') zone = self.point.zones.create(name='example.com') self.request.assert_called_once_with('post', '/zones', self.auth, { 'zone': { 'name': 'example.com', } }) self.assertEqual(zone, {'zone': {'id': 1}}) def test_collection_create_failure(self): self.request.return_value = Response(422, '["error message"]') with self.assertRaises(exceptions.UnprocessableEntityError): self.point.zones.create(name='example.com') def test_collection_create_unknown_failure(self): self.request.return_value = Response(200) with self.assertRaises(exceptions.UnknownError): self.point.zones.create(name='example.com') def test_member_retrieve(self): self.request.return_value = Response(200, '{"zone": {"id": 1}}') zone = self.point.zones(1).retrieve() self.request.assert_called_once_with('get', '/zones/1', self.auth, None) self.assertEqual(zone, {'zone': {'id': 1}}) def test_member_retrieve_failure(self): self.request.return_value = Response(404) with self.assertRaises(exceptions.NotFoundError): self.point.zones(1).retrieve() def test_member_retrieve_unknown_failure(self): self.request.return_value = Response(201) with self.assertRaises(exceptions.UnknownError): self.point.zones(1).retrieve() def test_member_update(self): self.request.return_value = Response(202) self.assertIsNone(self.point.zones(1).update(group='clients')) self.request.assert_called_once_with('put', '/zones/1', self.auth, { 'zone': { 'group': 'clients', } }) def test_member_update_failure(self): self.request.return_value = Response(422, '["error message"]') with self.assertRaises(exceptions.UnprocessableEntityError): self.point.zones(1).update(group='clients') def test_member_update_unknown_failure(self): self.request.return_value = Response(404) with self.assertRaises(exceptions.UnknownError): self.point.zones(1).update(group='clients') def test_member_delete(self): self.request.return_value = Response(202) self.assertIsNone(self.point.zones(1).delete()) self.request.assert_called_once_with('delete', '/zones/1', self.auth, None) def test_member_delete_failure(self): self.request.return_value = Response(409, '["error message"]') with self.assertRaises(exceptions.ConflictError): self.point.zones(1).delete() def test_member_delete_unknown_failure(self): self.request.return_value = Response(404) with self.assertRaises(exceptions.UnknownError): self.point.zones(1).delete()
def setUp(self): self.auth = ('*****@*****.**', 'secret-key') self.request = Mock() self.point = Point(self.auth[0], self.auth[1], self.request)
""" from pointhq import Point import requests # grab current IP address IP_req = requests.get('http://rhinoequipment.com/ip.php') IP = IP_req.content # enter your personal data in between < > username = '******' apitoken = '<your API token found at https://pointhq.com/settings>' zone = <zone to update> record = <record to update> point = Point(username=username, apitoken=apitoken) # check the existing IP address records = point.zones(zone).records(record).retrieve() A_record = records['zone_record']['data'] print A_record, IP if IP == A_record: print 'Current IP address matches PointHQ record. Quitting!' exit(1) else: print 'updating ', zone point.zones(zone).records(record).update(data=IP)