now working with npmdocker and the npmts 7.x.x
This commit is contained in:
parent
499c6cc3b7
commit
a77ed42e9f
3
dist/dockersock.classes.dockersock.d.ts
vendored
3
dist/dockersock.classes.dockersock.d.ts
vendored
@ -23,6 +23,9 @@ export declare class Dockersock {
|
|||||||
removeContainer(containerNameArg: any): plugins.q.Promise<{}>;
|
removeContainer(containerNameArg: any): plugins.q.Promise<{}>;
|
||||||
clean(): plugins.q.Promise<{}>;
|
clean(): plugins.q.Promise<{}>;
|
||||||
callOnChange(cb: Function): void;
|
callOnChange(cb: Function): void;
|
||||||
|
/**
|
||||||
|
* gets you an observable that reports changes in the docker infrastructure
|
||||||
|
*/
|
||||||
getChangeObservable(): Observable<{}>;
|
getChangeObservable(): Observable<{}>;
|
||||||
request(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): plugins.q.Promise<{}>;
|
request(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): plugins.q.Promise<{}>;
|
||||||
requestStream(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): plugins.q.Promise<{}>;
|
requestStream(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): plugins.q.Promise<{}>;
|
||||||
|
17
dist/dockersock.classes.dockersock.js
vendored
17
dist/dockersock.classes.dockersock.js
vendored
File diff suppressed because one or more lines are too long
@ -5,7 +5,7 @@
|
|||||||
},
|
},
|
||||||
"npmdocker":{
|
"npmdocker":{
|
||||||
"baseImage":"hosttoday/ht-docker-node:npmci",
|
"baseImage":"hosttoday/ht-docker-node:npmci",
|
||||||
"command":"npmci command yarn global add npmts && npmci command npmts",
|
"command":"(npmci command yarn global add npmts) && npmts",
|
||||||
"dockerSock":"true"
|
"dockerSock":"true"
|
||||||
},
|
},
|
||||||
"npmci": {
|
"npmci": {
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
"typings-global": "^1.0.14"
|
"typings-global": "^1.0.14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"observable-to-promise": "^0.5.0",
|
||||||
"tapbundle": "^1.0.5"
|
"tapbundle": "^1.0.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
test/test.ts
20
test/test.ts
@ -1,6 +1,6 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
import { expect, tap } from 'tapbundle'
|
import { expect, tap } from 'tapbundle'
|
||||||
|
import * as observableToPromise from 'observable-to-promise'
|
||||||
import { Dockersock } from "../dist/index";
|
import { Dockersock } from "../dist/index";
|
||||||
|
|
||||||
let testDockersock: Dockersock;
|
let testDockersock: Dockersock;
|
||||||
@ -8,27 +8,29 @@ let testDockersock: Dockersock;
|
|||||||
tap.test("should create a new Dockersock instance", async () => {
|
tap.test("should create a new Dockersock instance", async () => {
|
||||||
testDockersock = new Dockersock();
|
testDockersock = new Dockersock();
|
||||||
return expect(testDockersock).to.be.instanceof(Dockersock);
|
return expect(testDockersock).to.be.instanceof(Dockersock);
|
||||||
});
|
}).catch(tap.threw);
|
||||||
|
|
||||||
tap.test("should list containers", async () => {
|
tap.test("should list containers", async () => {
|
||||||
await testDockersock.listContainers()
|
await testDockersock.listContainers()
|
||||||
.then(async (dataArg) => {
|
.then(async (dataArg) => {
|
||||||
console.log(dataArg);
|
console.log(dataArg);
|
||||||
});
|
});
|
||||||
});
|
}).catch(tap.threw);
|
||||||
|
|
||||||
tap.test("should list detailed containers", async () => {
|
tap.test("should list detailed containers", async () => {
|
||||||
await testDockersock.listContainersDetailed()
|
await testDockersock.listContainersDetailed()
|
||||||
.then(async (dataArg) => {
|
.then(async (dataArg) => {
|
||||||
console.log(dataArg);
|
console.log(dataArg);
|
||||||
});
|
});
|
||||||
});
|
}).catch(tap.threw);
|
||||||
|
|
||||||
tap.test("should pull an image from imagetag", async () => {
|
tap.test("should pull an image from imagetag", async () => {
|
||||||
await testDockersock.pullImage("hosttoday/ht-docker-dbase")
|
await testDockersock.pullImage("hosttoday/ht-docker-node:npmci")
|
||||||
});
|
}).catch(tap.threw);
|
||||||
|
|
||||||
tap.test("should return a change Objservable", async () => {
|
/*tap.test("should return a change Objservable", async () => {
|
||||||
testDockersock.getChangeObservable();
|
let myObservable = testDockersock.getChangeObservable();
|
||||||
testDockersock.endRequests();
|
testDockersock.endRequests();
|
||||||
})
|
let testPromise = observableToPromise(myObservable)
|
||||||
|
return await expect(testPromise).to.eventually.be.fulfilled
|
||||||
|
}).catch(tap.threw);*/
|
@ -124,6 +124,10 @@ export class Dockersock {
|
|||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets you an observable that reports changes in the docker infrastructure
|
||||||
|
*/
|
||||||
getChangeObservable() {
|
getChangeObservable() {
|
||||||
let options = {
|
let options = {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@ -140,8 +144,10 @@ export class Dockersock {
|
|||||||
console.log(res);
|
console.log(res);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
let incomingMessage
|
||||||
requestStream.on("response", (response) => {
|
requestStream.on("response", (response) => {
|
||||||
this.requestObjectmap.add(requestStream);
|
incomingMessage = response
|
||||||
|
this.requestObjectmap.add(incomingMessage);
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
plugins.beautylog.ok("request returned status 200, so we are good!");
|
plugins.beautylog.ok("request returned status 200, so we are good!");
|
||||||
} else {
|
} else {
|
||||||
@ -150,7 +156,7 @@ export class Dockersock {
|
|||||||
});
|
});
|
||||||
let changeObservable = Observable.fromEvent(requestStream, "data");
|
let changeObservable = Observable.fromEvent(requestStream, "data");
|
||||||
requestStream.on("end", () => {
|
requestStream.on("end", () => {
|
||||||
this.requestObjectmap.remove(requestStream);
|
this.requestObjectmap.remove(incomingMessage);
|
||||||
});
|
});
|
||||||
return changeObservable;
|
return changeObservable;
|
||||||
}
|
}
|
||||||
@ -203,8 +209,10 @@ export class Dockersock {
|
|||||||
done.reject(err);
|
done.reject(err);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
let incomingMessage
|
||||||
requestStream.on("response", (response) => {
|
requestStream.on("response", (response) => {
|
||||||
this.requestObjectmap.add(requestStream);
|
incomingMessage = response
|
||||||
|
this.requestObjectmap.add(incomingMessage);
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
plugins.beautylog.ok("request returned status 200, so we are good!");
|
plugins.beautylog.ok("request returned status 200, so we are good!");
|
||||||
} else {
|
} else {
|
||||||
@ -218,10 +226,12 @@ export class Dockersock {
|
|||||||
plugins.beautylog.logReduced(status);
|
plugins.beautylog.logReduced(status);
|
||||||
});
|
});
|
||||||
requestStream.on("end", () => {
|
requestStream.on("end", () => {
|
||||||
this.requestObjectmap.remove(requestStream);
|
this.requestObjectmap.remove(incomingMessage);
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
endRequests() {
|
endRequests() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.requestObjectmap.forEach((itemArg: plugins.request.Request) => {
|
this.requestObjectmap.forEach((itemArg: plugins.request.Request) => {
|
||||||
|
19
yarn.lock
19
yarn.lock
@ -848,6 +848,12 @@ is-number@^2.0.2, is-number@^2.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
kind-of "^3.0.2"
|
kind-of "^3.0.2"
|
||||||
|
|
||||||
|
is-observable@^0.2.0:
|
||||||
|
version "0.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2"
|
||||||
|
dependencies:
|
||||||
|
symbol-observable "^0.2.2"
|
||||||
|
|
||||||
is-posix-bracket@^0.1.0:
|
is-posix-bracket@^0.1.0:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
|
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
|
||||||
@ -1211,6 +1217,13 @@ object.omit@^2.0.0:
|
|||||||
for-own "^0.1.4"
|
for-own "^0.1.4"
|
||||||
is-extendable "^0.1.1"
|
is-extendable "^0.1.1"
|
||||||
|
|
||||||
|
observable-to-promise@^0.5.0:
|
||||||
|
version "0.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f"
|
||||||
|
dependencies:
|
||||||
|
is-observable "^0.2.0"
|
||||||
|
symbol-observable "^1.0.4"
|
||||||
|
|
||||||
once@^1.3.0:
|
once@^1.3.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||||
@ -1692,7 +1705,11 @@ supports-color@^3.1.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-flag "^1.0.0"
|
has-flag "^1.0.0"
|
||||||
|
|
||||||
symbol-observable@^1.0.1:
|
symbol-observable@^0.2.2:
|
||||||
|
version "0.2.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40"
|
||||||
|
|
||||||
|
symbol-observable@^1.0.1, symbol-observable@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user