Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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])
Exemplo n.º 3
0
    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)