it("File svc.yml is generated and filled in", function () { assert.file(["svc.yml"]); var svc = yaml.load("svc.yml"); expect(svc.apiVersion).toBe("v1"); expect(svc.kind).toBe("Service"); expect(svc.metadata.name).toBe("nginx"); expect(svc.metadata.namespace).toBe("default"); expect(svc.spec.ports[0].port).toBe(80); expect(svc.spec.ports[0].targetPort).toBe(80); expect(svc.spec.selector.app).toBe("nginx"); });
/** * load config file which can be .js or .yml */ _loadConfigFile (dir, filename) { let content = util.loadFile(path.join(dir, `${filename}.js`), true) if (!content) { // load yaml content = util.loadFile(path.join(dir, `${filename}.yml`), true) content = (content && yaml.parse(content)) || {} } return this.injectApp(content) }
function loadYAMLFile(file) { return YAML.parse(fs.readFileSync(file).toString()); }
/** * checks if user is admin * @param object config * @return function */ function isAdmin(config) { return function(req, res, next) { if(!req.user.admin) return next(new HTTPError('Forbidden', 403)) res.locals.config = config res.locals.ymlConfig = yaml.stringify(config, 2, 4) return next() } }
async load() { if (!await this.constructor.isLoadable(this.store)) { logger.error("[%s] package is not loadable or does not exist", JudeLoader.name); return null; } try { const cfg = YAML.parse(await this.store.getFileString(JUDE_FN)); return this.getTask(cfg); } catch (e) { logger.error("[%s] package could not be read or parsed", JudeLoader.name); logger.debug(e); return null; } }
files .map(f => fs.readFileSync(`./handlers/${f}`, 'utf8')) .map(raw => YAML.parse(raw)) .reduce( (result, handler) => Object.assign(result, handler), {})
it("File deployment.yml is generated and filled in", function () { assert.file(["deployment.yml"]); var deployment = yaml.load("deployment.yml"); expect(deployment.apiVersion).toBe("extensions/v1beta1"); expect(deployment.kind).toBe("Deployment"); expect(deployment.metadata.labels.name).toBe("nginx"); expect(deployment.metadata.name).toBe("nginx"); expect(deployment.metadata.namespace).toBe("default"); expect(deployment.spec.replicas).toBe(1); expect(deployment.spec.template.metadata.labels.app).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].name).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].image).toBe("nginx"); });
it("File ing.yml is generated and filled in", function () { assert.file(["ing.yml"]); var ing = yaml.load("ing.yml"); expect(ing.apiVersion).toBe("extensions/v1beta1"); expect(ing.kind).toBe("Ingress"); expect(ing.metadata.annotations).toExist("No annotations found for ing.yml"); expect(ing.metadata.annotations["kubernetes.io/ingress.class"]).toExist("No kubernetes.io/ingress class found"); expect(ing.metadata.annotations["kubernetes.io/ingress.class"]).toBe("external", "kubernetes.io/ingress class should be 'external'"); expect(ing.metadata.name).toBe("nginx"); expect(ing.metadata.namespace).toBe("default"); expect(ing.spec.rules).toExist("Expected rules to exist"); expect(ing.spec.rules[0].host).toBe("nginx.ingress.com"); expect(ing.spec.rules[0].http.paths[0].path).toBe("/"); expect(ing.spec.rules[0].http.paths[0].backend.serviceName).toBe("nginx"); expect(ing.spec.rules[0].http.paths[0].backend.servicePort).toBe(80); });
it("File rc.yml is generated and filled in", function () { assert.file(["rc.yml"]); var rc = yaml.load("rc.yml"); expect(rc.apiVersion).toBe("v1"); expect(rc.kind).toBe("ReplicationController"); expect(rc.metadata.name).toBe("nginx"); expect(rc.metadata.namespace).toBe("default"); expect(rc.spec.replicas).toBe(1); expect(rc.spec.selector.app).toBe("nginx"); expect(rc.spec.template.metadata.labels.app).toBe("nginx"); expect(rc.spec.template.spec.containers[0].name).toBe("nginx"); expect(rc.spec.template.spec.containers[0].image).toBe("nginx"); });
it("File ing.yml is generated and filled in", function () { assert.file(["ing.yml"]); var ing = yaml.load("ing.yml"); expect(ing.apiVersion).toBe("extensions/v1beta1"); expect(ing.kind).toBe("Ingress"); expect(ing.metadata.name).toBe("nginx"); expect(ing.metadata.namespace).toBe("default"); expect(ing.metadata.annotations).toExist("No annotations found for ing.yml"); expect(ing.metadata.annotations["kubernetes.io/ingress.class"]).toExist("No kubernetes.io/ingress class found"); expect(ing.metadata.annotations["kubernetes.io/ingress.class"]).toBe("internal", "kubernetes.io/ingress class should be 'internal'"); expect(ing.spec.rules).toExist("Expected rules to exist"); expect(ing.spec.rules[0].host).toBe("nginx.ingress.com"); expect(ing.spec.rules[0].http.paths[0].path).toBe("/"); expect(ing.spec.rules[0].http.paths[0].backend.serviceName).toBe("nginx"); expect(ing.spec.rules[0].http.paths[0].backend.servicePort).toBe(80); });
it("File svc.yml is generated and filled in", function () { assert.file(["svc.yml"]); var svc = yaml.load("svc.yml"); expect(svc.apiVersion).toBe("v1"); expect(svc.kind).toBe("Service"); expect(svc.metadata.name).toBe("nginx"); expect(svc.metadata.namespace).toBe("default"); expect(svc.spec.ports[0].port).toBe(80); expect(svc.spec.ports[0].targetPort).toBe(80); expect(svc.spec.selector.app).toBe("nginx"); });
it("File svc.yml is generated and filled in", function () { assert.file(["svc.yml"]); var svc = yaml.load("svc.yml"); expect(svc.apiVersion).toBe("v1"); expect(svc.kind).toBe("Service"); expect(svc.metadata.name).toBe("nginx"); expect(svc.metadata.namespace).toBe("default"); expect(svc.spec.ports[0].port).toBe(80); expect(svc.spec.ports[0].targetPort).toBe(80); expect(svc.spec.selector.app).toBe("nginx"); });
it("File svc.yml is generated and filled in", function () { assert.file(["svc.yml"]); var svc = yaml.load("svc.yml"); expect(svc.apiVersion).toBe("v1"); expect(svc.kind).toBe("Service"); expect(svc.metadata.name).toBe("nginx"); expect(svc.metadata.namespace).toBe("default"); expect(svc.spec.ports[0].port).toBe(80); expect(svc.spec.ports[0].targetPort).toBe(80); expect(svc.spec.selector.app).toBe("nginx"); });
it("File deployment.yml is generated and filled in", function () { assert.file(["deployment.yml"]); var deployment = yaml.load("deployment.yml"); expect(deployment.apiVersion).toBe("extensions/v1beta1"); expect(deployment.kind).toBe("Deployment"); expect(deployment.metadata.labels.name).toBe("nginx"); expect(deployment.metadata.name).toBe("nginx"); expect(deployment.metadata.namespace).toBe("default"); expect(deployment.spec.replicas).toBe(1); expect(deployment.spec.template.metadata.labels.app).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].name).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].image).toBe("nginx"); });
it("File deployment.yml is generated and filled in", function () { assert.file(["deployment.yml"]); var deployment = yaml.load("deployment.yml"); expect(deployment.apiVersion).toBe("extensions/v1beta1"); expect(deployment.kind).toBe("Deployment"); expect(deployment.metadata.labels.name).toBe("nginx"); expect(deployment.metadata.name).toBe("nginx"); expect(deployment.metadata.namespace).toBe("default"); expect(deployment.spec.replicas).toBe(1); expect(deployment.spec.template.metadata.labels.app).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].name).toBe("nginx"); expect(deployment.spec.template.spec.containers[0].image).toBe("nginx"); });