def test_create_w_alternate_client(self): from gcloud.dns.resource_record_set import ResourceRecordSet self._setUpConstants() RESOURCE = self._makeResource() PATH = 'projects/%s/managedZones/%s/changes' % (self.PROJECT, self.ZONE_NAME) conn1 = _Connection() client1 = _Client(project=self.PROJECT, connection=conn1) conn2 = _Connection(RESOURCE) client2 = _Client(project=self.PROJECT, connection=conn2) zone = _Zone(client1) changes = self._makeOne(zone) changes.add_record_set( ResourceRecordSet('test.example.com', 'CNAME', 3600, ['www.example.com'], zone)) changes.delete_record_set( ResourceRecordSet('test.example.com', 'CNAME', 86400, ['other.example.com'], zone)) changes.create(client=client2) self.assertEqual(len(conn1._requested), 0) self.assertEqual(len(conn2._requested), 1) req = conn2._requested[0] self.assertEqual(req['method'], 'POST') self.assertEqual(req['path'], '/%s' % PATH) SENT = { 'additions': RESOURCE['additions'], 'deletions': RESOURCE['deletions'], } self.assertEqual(req['data'], SENT) self._verifyResourceProperties(changes, RESOURCE, zone)
def test_delete_record_set(self): from gcloud.dns.resource_record_set import ResourceRecordSet zone = _Zone() changes = self._makeOne(zone) rrs = ResourceRecordSet('test.example.com', 'CNAME', 3600, ['www.example.com'], zone) changes.delete_record_set(rrs) self.assertEqual(list(changes.deletions), [rrs])
def resource_record_set(self, name, record_type, ttl, rrdatas): """Construct a resource record set bound to this zone. :type name: string :param name: Name of the record set. :type record_type: string :param record_type: RR type :type ttl: integer :param ttl: TTL for the RR, in seconds :type rrdatas: list of string :param rrdatas: resource data for the RR :rtype: :class:`gcloud.dns.resource_record_set.ResourceRecordSet` :returns: a new ``ResourceRecordSet`` instance """ return ResourceRecordSet(name, record_type, ttl, rrdatas, zone=self)