@apillon/sdk
Version:
▶◀ Apillon SDK for NodeJS ▶◀
100 lines • 4.55 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const hosting_1 = require("../modules/hosting/hosting");
const hosting_2 = require("../types/hosting");
const helper_1 = require("./helpers/helper");
const hosting_website_1 = require("../modules/hosting/hosting-website");
const fs = __importStar(require("fs"));
describe('Hosting tests', () => {
let hosting;
let websiteUuid;
let deploymentUuid;
beforeAll(async () => {
hosting = new hosting_1.Hosting((0, helper_1.getConfig)());
websiteUuid = (0, helper_1.getWebsiteUUID)();
});
test('get all websites', async () => {
const { items } = await hosting.listWebsites();
expect(items.length).toBeGreaterThan(0);
expect(items[0]).toBeInstanceOf(hosting_website_1.HostingWebsite);
expect(items[0].name).toBeTruthy();
});
test('get website info', async () => {
const website = await hosting.website(websiteUuid).get();
expect(website).toBeInstanceOf(hosting_website_1.HostingWebsite);
expect(website.name).toBeTruthy();
expect(website.uuid).toBeTruthy();
});
test.only('upload website from folder', async () => {
const website = hosting.website(websiteUuid);
const uploadDir = (0, path_1.resolve)(__dirname, './helpers/website/');
await website.uploadFromFolder(uploadDir, { ignoreFiles: false });
const deployment = await website.deploy(hosting_2.DeployToEnvironment.STAGING_TO_PRODUCTION);
expect(deployment.environment).toEqual(hosting_2.DeployToEnvironment.STAGING_TO_PRODUCTION);
deploymentUuid = deployment.uuid;
await website.get();
expect(website.lastDeploymentStatus).toEqual(hosting_2.DeploymentStatus.INITIATED);
});
test('upload files from buffer', async () => {
const html = fs.readFileSync((0, path_1.resolve)(__dirname, './helpers/website/index.html'));
const css = fs.readFileSync((0, path_1.resolve)(__dirname, './helpers/website/style.css'));
console.time('File upload complete');
await hosting.website(websiteUuid).uploadFiles([
{
fileName: 'index.html',
contentType: 'text/html',
content: html,
},
{
fileName: 'style.css',
contentType: 'text/css',
content: css,
},
]);
console.timeEnd('File upload complete');
});
test('list all deployments', async () => {
const website = hosting.website(websiteUuid);
const { items } = await website.listDeployments({
environment: hosting_2.DeployToEnvironment.TO_STAGING,
});
expect(items.every((d) => d.environment === hosting_2.DeployToEnvironment.TO_STAGING));
});
test('get deployment status', async () => {
const website = hosting.website(websiteUuid);
const deployment = await website.deployment(deploymentUuid).get();
expect(deployment.environment).toEqual(hosting_2.DeployToEnvironment.TO_STAGING);
});
test('generate short url', async () => {
const targertUrl = 'https://ipfs.apillon.io/ipfs/abc';
const shortUrl = await hosting.generateShortUrl(targertUrl);
expect(shortUrl.id).toBeDefined();
expect(shortUrl.targetUrl).toBe(targertUrl);
expect(shortUrl.url).toContain(shortUrl.id);
});
});
//# sourceMappingURL=hosting.test.js.map