gcdns: fix update/del confusion
in the DNS api, we always update/del all records of same type
This commit is contained in:
@@ -531,7 +531,7 @@ describe('dns provider', function () {
|
||||
var dnsConfig = {
|
||||
provider: 'gcdns',
|
||||
projectId: 'my-dns-proj',
|
||||
keyFilename: 'syn-im-1ec6f9f870bf.json'
|
||||
keyFilename: __dirname + '/syn-im-1ec6f9f870bf.json'
|
||||
};
|
||||
|
||||
function mockery (queue) {
|
||||
@@ -561,6 +561,7 @@ describe('dns provider', function () {
|
||||
zone.metadata.dnsName = name + '.';
|
||||
zone.metadata.nameServers = ns || ['8.8.8.8', '8.8.4.4'];
|
||||
zone.getRecords = mockery(recordQueue || zoneQueue);
|
||||
zone.createChange = mockery(recordQueue || zoneQueue);
|
||||
zone.replaceRecords = mockery(recordQueue || zoneQueue);
|
||||
zone.deleteRecords = mockery(recordQueue || zoneQueue);
|
||||
return zone;
|
||||
@@ -579,7 +580,8 @@ describe('dns provider', function () {
|
||||
});
|
||||
|
||||
it('upsert non-existing record succeeds', function (done) {
|
||||
zoneQueue.push([null, HOSTED_ZONES]);
|
||||
zoneQueue.push([null, HOSTED_ZONES]); // getZone
|
||||
zoneQueue.push([null, [ ]]); // getRecords
|
||||
zoneQueue.push([null, {id: '1'}]);
|
||||
subdomains.upsert('test', 'A', [ '1.2.3.4' ], function (error, result) {
|
||||
expect(error).to.eql(null);
|
||||
@@ -592,6 +594,7 @@ describe('dns provider', function () {
|
||||
|
||||
it('upsert existing record succeeds', function (done) {
|
||||
zoneQueue.push([null, HOSTED_ZONES]);
|
||||
zoneQueue.push([null, [GCDNS().zone('test').record('A', {'name': 'test', data:['5.6.7.8'], ttl: 1})]]);
|
||||
zoneQueue.push([null, {id: '2'}]);
|
||||
|
||||
subdomains.upsert('test', 'A', [ '1.2.3.4' ], function (error, result) {
|
||||
@@ -605,6 +608,7 @@ describe('dns provider', function () {
|
||||
|
||||
it('upsert multiple record succeeds', function (done) {
|
||||
zoneQueue.push([null, HOSTED_ZONES]);
|
||||
zoneQueue.push([null, [ ]]); // getRecords
|
||||
zoneQueue.push([null, {id: '3'}]);
|
||||
|
||||
subdomains.upsert('', 'TXT', [ 'first', 'second', 'third' ], function (error, result) {
|
||||
@@ -618,14 +622,13 @@ describe('dns provider', function () {
|
||||
|
||||
it('get succeeds', function (done) {
|
||||
zoneQueue.push([null, HOSTED_ZONES]);
|
||||
zoneQueue.push([null, [], true]);
|
||||
zoneQueue.push([null, [GCDNS().zone('test').record('A', {'name': 'test', data:['1.2.3.4'], ttl: 1})]]);
|
||||
zoneQueue.push([null, [GCDNS().zone('test').record('A', {'name': 'test', data:['1.2.3.4', '5.6.7.8'], ttl: 1})]]);
|
||||
|
||||
subdomains.get('test', 'A', function (error, result) {
|
||||
expect(error).to.eql(null);
|
||||
expect(result).to.be.an(Array);
|
||||
expect(result.length).to.eql(1);
|
||||
expect(result[0]).to.eql('1.2.3.4');
|
||||
expect(result.length).to.eql(2);
|
||||
expect(result).to.eql(['1.2.3.4', '5.6.7.8']);
|
||||
expect(zoneQueue.length).to.eql(0);
|
||||
|
||||
done();
|
||||
@@ -634,6 +637,7 @@ describe('dns provider', function () {
|
||||
|
||||
it('del succeeds', function (done) {
|
||||
zoneQueue.push([null, HOSTED_ZONES]);
|
||||
zoneQueue.push([null, [GCDNS().zone('test').record('A', {'name': 'test', data:['5.6.7.8'], ttl: 1})]]);
|
||||
zoneQueue.push([null, {id: '5'}]);
|
||||
|
||||
subdomains.remove('test', 'A', ['1.2.3.4'], function (error) {
|
||||
|
||||
12
src/test/syn-im-1ec6f9f870bf.json
Normal file
12
src/test/syn-im-1ec6f9f870bf.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "service_account",
|
||||
"project_id": "second-metrics-123822",
|
||||
"private_key_id": "12345678912345678659bacc6a9ba2bd495304e8",
|
||||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAA123456789lAgEAAoIBAQDbogLCpOPRIgFD\nQGMB1A3RO234567898+gQIEzr3wM+kgDuh5lsm5C5YBGHppC5dD2GdWDGFxBhSGP\nYWW4F8593TDsSoeg3tsffIHQ4gTA3q/V4q5M4fEi+XWL123450KUjLYVs6DgZk28\nF5TbHFHxQjRvbQTj1245lQXsqR/WEBIShA0HwrF6ayz2n123456FuR7kCQ6Srxv6\n4d3i2S3KrkabcEzCHoo3NKeXj3f/cbWapoJaaaaaaaNfK3dEyuicoJaoFYspK194\n9qStl9opEwWzeiW95Ps5P4WFdQq5bSWw4LatEcdxnre7IR11ZVjktZwg6bU19Aes\ntfvSOiMhAgMBAAECggEAUm5y5MToMDS4DpqazjPdX7pFdSDnZgzxfy7WjyR8xY4l\n+ygegoK+eWMTir2vng4NKGC3zvUUow6pctvWRorA2GJtGzI5xzn9OcsMGe7KY+zw\nR7FFQ9vFGiBQasOdNfh8/630JR7+8VnUMRUUrEvrwUXc0jkzjYYaZuCtkY5EQZ2i\nfGm4I25uNckd2BNCvyc+bMT/zXD33vaMUe9B/Dy8lnKHstKds6C9lweocu/7XpMd\nRhzOeIxLYoPpdNveVNsfztj5y3bKaopxaEQoGIdXrNrBANiHumbEjF6VcOmQ6xnp\n5L+5ht1c4hLeydn/O7/xQeuik72+aD9PQE3Xz1aOlQKBgQDuGf/PURwVC/h2Jiz6\nSdZNAeCpeE/7S4iumksjXdp1gT+6rLv4UumpDX7DXNbRELwFBJMOZu9tM6DrHnMZ\nt+5U9qkS4r5tKoOBHv3YvabH5hkj5oeSFQfi2CDHS9hURuQUwvTYfZluJXDseswX\nAHF3NJzsnGxYqPQ+t3SMLvCi7wKBgQDsJJoMzkfsxExlhGH3zwmhcp5t7DBAYCKC\nz/IpZhY48iFdEAS1NA35F8EofN5d3TWPzVW2oT4f4Qz7VtKp9OHwtFpHnsSpBLGX\nB66gh5wO+yscvnRTFIGPNBg9fHNn70OQJaixelhDp7/BBfpcusF6ByND4F29vRiv\ng9n99lZa7wKBgQCsjpseHKJFfo9q0O/31FtDJAE10MPmUy+Tmq6pyvLwBeOx3k28\nAhrlMaqU20uz6HTbDh2lamRKuAf/Xen80Zgga0LNNRbc9tqnUVaXJZshdFjz87Z8\n4FD+zbOzu/vj2BykD0ZzP1NayDe2qqgOY3vX8IFp2VOMTaX1be9BSSOMcQKBgQCw\nObBtFhQ+8U9CA0VJNcyuG2d4COcJY7Tdgmnp0zGKVcfoN2gMAkjbN4sCuA0KZ2bt\nZgMtQ6+lAsI5X1XfV8y1YSJuiGGi8MnHOAht7EXeODq4PLl6trbpM6tTV2iYi8oT\n7Mazi+YKt0k2t0tboFN6yZDburi6PEAL2433JLrVKQKBgQDZOwr1XOEuOos1LeQC\nMqO6c4bHo615jtX0NcWLhpN/Z8oHEgIbz0/O0KpcuLrxaCquxpDX9n0pALzg3AoX\nXnvuuq4r9pjoD5LN2qD4+SCIwUhB8ubGnlc97vWtkWnK7Wn49QMnqo2OfeCctk6S\nF36saiVnMV5alSVlU+ThqI8aLw==\n-----END PRIVATE KEY-----\n",
|
||||
"client_email": "123456789349-compute@developer.gserviceaccount.com",
|
||||
"client_id": "123456789012345506547",
|
||||
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
||||
"token_uri": "https://accounts.google.com/o/oauth2/token",
|
||||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
||||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/735900230349-compute%40developer.gserviceaccount.com"
|
||||
}
|
||||
Reference in New Issue
Block a user