Commit 3f589551 authored by Patricio Bruna's avatar Patricio Bruna

Creates (Without Attributes) accounts, domains and dls

parent 96008369
......@@ -19269,6 +19269,19 @@ var ZimbraAdminApi =
});
return callback(null, response_array);
}
}, {
key: 'create',
value: function create(resource, resource_data, callback) {
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = 'Create' + resource;
request_data.params.name = request_data.request_name + 'Request';
request_data.resource = resource;
request_data.callback = callback;
request_data.parse_response = this.parseResponse;
request_data.params.params = resource_data;
this.performRequest(request_data);
}
}, {
key: 'get',
value: function get(resource, resource_identifier, callback) {
......@@ -19303,11 +19316,33 @@ var ZimbraAdminApi =
value: function getAccount(identifier, callback) {
this.get('Account', identifier, callback);
}
// attributes debe ser un arreglo de objetos:
// resource_data.a = attributes
// attributes = [ { n: 'NOMBRE_DEL_CAMPO_ZIMBRA', '_content': 'VALOR_DEL_CAMPO' } ]
}, {
key: 'createAccount',
value: function createAccount(name, password, attributes, callback) {
var resource_data = {
name: { '_content': name },
password: { '_content': password }
};
this.create('Account', resource_data, callback);
}
}, {
key: 'getDomain',
value: function getDomain(identifier, callback) {
this.get('Domain', identifier, callback);
}
}, {
key: 'createDomain',
value: function createDomain(name, attributes, callback) {
var resource_data = {
name: { '_content': name }
};
this.create('Domain', resource_data, callback);
}
}, {
key: 'getDistributionList',
value: function getDistributionList(identifier, callback) {
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -141,8 +141,20 @@ class ZimbraAdminApi {
return callback(null, response_array);
}
create(resource, resource_data, callback){
let request_data = { };
request_data.params = this.requestParams();
request_data.request_name = `Create${resource}`;
request_data.params.name = `${request_data.request_name}Request`;
request_data.resource = resource;
request_data.callback = callback;
request_data.parse_response = this.parseResponse;
request_data.params.params = resource_data;
this.performRequest(request_data);
}
get(resource, resource_identifier, callback){
let request_data = { }
let request_data = { };
request_data.params = this.requestParams();
request_data.request_name = `Get${resource}`;
request_data.params.name = `${request_data.request_name}Request`;
......@@ -158,7 +170,7 @@ class ZimbraAdminApi {
}
getAll(resource, callback) {
let request_data = { }
let request_data = { };
request_data.params = this.requestParams();
request_data.request_name = `GetAll${resource}s`;
request_data.params.name = `${request_data.request_name}Request`;
......@@ -172,10 +184,28 @@ class ZimbraAdminApi {
this.get('Account', identifier, callback);
}
// attributes debe ser un arreglo de objetos:
// resource_data.a = attributes
// attributes = [ { n: 'NOMBRE_DEL_CAMPO_ZIMBRA', '_content': 'VALOR_DEL_CAMPO' } ]
createAccount(name, password, attributes, callback) {
let resource_data = {
name: { '_content': name },
password: { '_content': password }
};
this.create('Account', resource_data, callback);
}
getDomain(identifier, callback) {
this.get('Domain', identifier, callback);
}
createDomain(name, attributes, callback) {
let resource_data = {
name: { '_content': name }
};
this.create('Domain', resource_data, callback);
}
getDistributionList(identifier, callback) {
this.get('DistributionList', identifier, callback);
}
......
......@@ -144,6 +144,39 @@
api.getDomain('zboxapp.dev', callback);
});
it('should create and return an account', function(done){
let account_name = Date.now() + '@zboxapp.dev';
let account_password = Date.now();
let account_attributes = {};
let api = new ZimbraAdminApi(auth_data);
api.createAccount(account_name, account_password, account_attributes, function(err, data){
if (err) return console.log(err);
expect(data.name).to.equal(account_name);
done();
});
});
it('should create and return Domain', function(done){
let resource_name = Date.now() + '.dev';
let resource_attributes = {};
let api = new ZimbraAdminApi(auth_data);
api.createDomain(resource_name, resource_attributes, function(err, data){
if (err) return console.log(err);
expect(data.name).to.equal(resource_name);
done();
});
});
it('should return error "account.DOMAIN_EXISTS" if Domain Exists', function(done){
let resource_name = 'zboxapp.dev';
let resource_attributes = {};
let api = new ZimbraAdminApi(auth_data);
api.createDomain(resource_name, resource_attributes, function(err, data){
expect(err.extra.code).to.equal('account.DOMAIN_EXISTS');
done();
});
});
});
})();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment