Skip to content

Commit

Permalink
feat(Deployment): Support for deployment under apps (#122) (#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
gempesaw authored and silasbw committed Aug 1, 2017
1 parent 93cf997 commit 3688d1e
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 2 deletions.
7 changes: 5 additions & 2 deletions lib/apps.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';

const ApiGroup = require('./api-group');
const Deployments = require('./deployments');

class Apps extends ApiGroup {
constructor(options) {
Expand All @@ -12,8 +13,10 @@ class Apps extends ApiGroup {
options = Object.assign({}, options, {
path: 'apis/apps',
version: options.version || 'v1beta1',
groupResources: resources,
namespaceResources: resources
groupResources: resources.concat(['deployments']),
namespaceResources: resources.concat([
{ name: 'deployments', Constructor: Deployments }
])
});
super(options);
}
Expand Down
51 changes: 51 additions & 0 deletions test/apps.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,32 @@ const testStatefulSet = {
}
};

const testDeployment = {
apiVersion: 'apps/v1beta1',
kind: 'Deployment',
metadata: {
name: 'web'
},
spec: {
template: {
spec: {
containers: [
{
image: 'fake-image-kubernetes-client',
name: 'nginx'
}
]
},
metadata: {
labels: {
app: 'nginx'
}
},
replicas: 1
}
}
};

describe('lib.apps', () => {
describe('.statefulsets', () => {
const testStatefuleSetName = testStatefulSet.metadata.name;
Expand All @@ -59,4 +85,29 @@ describe('lib.apps', () => {
});
});
});

describe('.deployments', () => {
const testDeploymentName = testDeployment.metadata.name;

beforeTesting('int', common.changeName);
beforeTesting('unit', () => {
nock(common.apps.url)
.post(`${ common.apps.path }/namespaces/${ common.currentName }/deployments`)
.reply(201, testDeployment)
.get(`${ common.apps.path }/namespaces/${ common.currentName }/deployments/${ testDeploymentName }`)
.reply(200, testDeployment);
});

it('can POST and GET', done => {
async.series([
next => common.apps.ns.deployments.post({ body: testDeployment }, next),
next => common.apps.ns.deployments.get(testDeploymentName, next)
], (err, results) => {
assume(err).is.falsy();
const getResult = results[1];
assume(getResult.metadata.name).is.equal(testDeploymentName);
done();
});
});
});
});

0 comments on commit 3688d1e

Please sign in to comment.