diff --git a/package.json b/package.json index 0e5498ff..8edaa173 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "test:sanity-test": "BABEL_ENV=test nyc --reporter=html mocha --require @babel/register ./test/sanity-check/sanity.js -t 30000 --reporter mochawesome --require babel-polyfill --reporter-options reportDir=mochawesome-report,reportFilename=mochawesome.json", "test:sanity": "npm run test:sanity-test || true", "test:sanity-report": "marge mochawesome-report/mochawesome.json -f sanity-report.html --inline && node sanity-report.mjs", - "test:api": "BABEL_ENV=test nyc --reporter=html --reporter=text mocha --require @babel/register ./test/test.js -t 30000 --reporter mochawesome --require babel-polyfill", "test:unit": "BABEL_ENV=test nyc --reporter=html --reporter=text mocha --require @babel/register ./test/unit/index.js -t 30000 --reporter mochawesome --require babel-polyfill", "test:unit:report:json": "BABEL_ENV=test nyc --reporter=clover --reporter=text mocha --require @babel/register ./test/unit/index.js -t 30000 --reporter json --reporter-options output=report.json --require babel-polyfill", "test:typescript": "jest --testPathPattern=test/typescript --config ./jest.config.js --coverage", diff --git a/test/sanity-check/api/asset-test.js b/test/sanity-check/api/asset-test.js deleted file mode 100644 index 72cb6cdf..00000000 --- a/test/sanity-check/api/asset-test.js +++ /dev/null @@ -1,246 +0,0 @@ -import fs from 'fs' -import path from 'path' -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader, jsonWrite, writeDownloadedFile } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -var folderUID = '' -var assetUID = '' -var publishAssetUID = '' -var assetURL = '' -describe('Assets api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should asset Upload ', done => { - const asset = { - upload: path.join(__dirname, '../mock/customUpload.html'), - title: 'customasset', - description: 'Custom Asset Desc', - tags: ['Custom'] - } - makeAsset().create(asset) - .then((asset) => { - jsonWrite(asset, 'publishAsset2.json') - assetUID = asset.uid - assetURL = asset.url - expect(asset.uid).to.be.not.equal(null) - expect(asset.url).to.be.not.equal(null) - expect(asset.filename).to.be.equal('customUpload.html') - expect(asset.title).to.be.equal('customasset') - expect(asset.description).to.be.equal('Custom Asset Desc') - expect(asset.content_type).to.be.equal('text/html') - done() - }) - .catch(done) - }) - - it('should upload asset from buffer', (done) => { - const filePath = path.join(__dirname, '../mock/customUpload.html') - const fileBuffer = fs.readFileSync(filePath) // Read file into Buffer - const asset = { - upload: fileBuffer, // Buffer upload - filename: 'customUpload.html', // Ensure filename is provided - content_type: 'text/html', // Set content type - title: 'buffer-asset', - description: 'Buffer Asset Desc', - tags: ['Buffer'] - } - makeAsset().create(asset) - .then((asset) => { - jsonWrite(asset, 'bufferAsset.json') - expect(asset.uid).to.be.not.equal(null) - expect(asset.url).to.be.not.equal(null) - expect(asset.filename).to.be.equal('customUpload.html') - expect(asset.title).to.be.equal('buffer-asset') - expect(asset.description).to.be.equal('Buffer Asset Desc') - expect(asset.content_type).to.be.equal('text/html') - done() - }) - .catch(done) - }) - - it('should download asset from URL.', done => { - makeAsset().download({ url: assetURL, responseType: 'stream' }) - .then((response) => { - writeDownloadedFile(response, 'asset1') - done() - }).catch(done) - }) - it('should download asset from fetch details ', done => { - makeAsset(assetUID).fetch() - .then((asset) => asset.download({ responseType: 'stream' })) - .then((response) => { - writeDownloadedFile(response, 'asset2') - done() - }).catch(done) - }) - - it('should create folder ', done => { - makeAsset().folder().create({ asset: { name: 'Sample Folder' } }) - .then((asset) => { - folderUID = asset.uid - jsonWrite(asset, 'folder.json') - expect(asset.uid).to.be.not.equal(null) - expect(asset.name).to.be.equal('Sample Folder') - expect(asset.is_dir).to.be.equal(true) - done() - }) - .catch(done) - }) - - it('should asset Upload in folder', done => { - const asset = { - upload: path.join(__dirname, '../mock/customUpload.html'), - title: 'customasset in Folder', - description: 'Custom Asset Desc in Folder', - parent_uid: folderUID, - tags: 'folder' - } - makeAsset().create(asset) - .then((asset) => { - jsonWrite(asset, 'publishAsset1.json') - publishAssetUID = asset.uid - expect(asset.uid).to.be.not.equal(null) - expect(asset.url).to.be.not.equal(null) - expect(asset.filename).to.be.equal('customUpload.html') - expect(asset.title).to.be.equal('customasset in Folder') - expect(asset.description).to.be.equal('Custom Asset Desc in Folder') - expect(asset.content_type).to.be.equal('text/html') - expect(asset.parent_uid).to.be.equal(folderUID) - done() - }) - .catch(done) - }) - - it('should asset Upload in folder with contenttype', done => { - const asset = { - upload: path.join(__dirname, '../mock/berries.jfif'), - title: 'customasset2 in Folder', - description: 'Custom Asset Desc in Folder', - parent_uid: folderUID, - tags: 'folder', - content_type: 'image/jpeg' - } - makeAsset().create(asset) - .then((asset) => { - publishAssetUID = asset.uid - expect(asset.uid).to.be.not.equal(null) - expect(asset.url).to.be.not.equal(null) - expect(asset.filename).to.be.equal('berries.jfif') - expect(asset.title).to.be.equal('customasset2 in Folder') - expect(asset.description).to.be.equal('Custom Asset Desc in Folder') - expect(asset.content_type).to.be.equal('image/jpeg') - expect(asset.parent_uid).to.be.equal(folderUID) - done() - }) - .catch(done) - }) - it('should replace asset ', done => { - const asset = { - upload: path.join(__dirname, '../mock/upload.html') - } - makeAsset(assetUID) - .replace(asset) - .then((asset) => { - expect(asset.uid).to.be.equal(assetUID) - expect(asset.filename).to.be.equal('upload.html') - expect(asset.content_type).to.be.equal('text/html') - done() - }) - .catch(done) - }) - - it('should fetch and Update asset details', done => { - makeAsset(assetUID) - .fetch() - .then((asset) => { - asset.title = 'Update title' - asset.description = 'Update description' - delete asset.ACL - return asset.update() - }) - .then((asset) => { - expect(asset.uid).to.be.equal(assetUID) - expect(asset.title).to.be.equal('Update title') - expect(asset.description).to.be.equal('Update description') - done() - }) - .catch(done) - }) - - it('should publish Asset', done => { - makeAsset(publishAssetUID) - .publish({ publishDetails: { - locales: ['hi-in', 'en-us'], - environments: ['development'] - } }) - .then((data) => { - expect(data.notice).to.be.equal('Asset sent for publishing.') - done() - }) - .catch(done) - }) - - it('should unpublish Asset', done => { - makeAsset(publishAssetUID) - .unpublish({ publishDetails: { - locales: ['hi-in', 'en-us'], - environments: ['development'] - } }) - .then((data) => { - expect(data.notice).to.be.equal('Asset sent for unpublishing.') - done() - }) - .catch(done) - }) - - it('should delete asset', done => { - makeAsset(assetUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Asset deleted successfully.') - done() - }) - .catch(done) - }) - - it('should query to fetch all asset', done => { - makeAsset() - .query() - .find() - .then((collection) => { - collection.items.forEach((asset) => { - expect(asset.uid).to.be.not.equal(null) - expect(asset.title).to.be.not.equal(null) - expect(asset.description).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query to fetch title match asset', done => { - makeAsset() - .query({ query: { title: 'Update title' } }) - .find() - .then((collection) => { - collection.items.forEach((asset) => { - expect(asset.uid).to.be.not.equal(null) - expect(asset.title).to.be.equal('Update title') - expect(asset.description).to.be.equal('Update description') - }) - done() - }) - .catch(done) - }) -}) - -function makeAsset (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).asset(uid) -} diff --git a/test/sanity-check/api/auditlog-test.js b/test/sanity-check/api/auditlog-test.js deleted file mode 100644 index 2fe8eaea..00000000 --- a/test/sanity-check/api/auditlog-test.js +++ /dev/null @@ -1,32 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' - -import { contentstackClient } from '../utility/ContentstackClient.js' - -let client = {} -let uid = '' -describe('Audit Log api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('Should Fetch all the Audit Logs', async () => { - const response = await makeAuditLog().fetchAll() - uid = response.items[0].uid - // eslint-disable-next-line no-unused-expressions - expect(Array.isArray(response.items)).to.be.true - // eslint-disable-next-line no-unused-expressions - expect(response.items[0].uid).not.to.be.undefined - }) - - it('Should Fetch a single audit log', async () => { - const response = await makeAuditLog(uid).fetch() - expect(response.log.uid).to.be.equal(uid) - }) -}) - -function makeAuditLog (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).auditLog(uid) -} diff --git a/test/sanity-check/api/branch-test.js b/test/sanity-check/api/branch-test.js deleted file mode 100644 index 34723a9f..00000000 --- a/test/sanity-check/api/branch-test.js +++ /dev/null @@ -1,207 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { branch, stageBranch, devBranch } from '../mock/branch.js' - -var client = {} -var mergeJobUid = '' -describe('Branch api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create a dev branch from stage branch', async () => { - const response = await makeBranch().create({ branch: devBranch }) - expect(response.uid).to.be.equal(devBranch.uid) - expect(response.source).to.be.equal(devBranch.source) - expect(response.alias).to.not.equal(undefined) - expect(response.delete).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) - - it('should return main branch when query is called', done => { - makeBranch() - .query() - .find() - .then((response) => { - var item = response.items[0] - expect(item.uid).to.not.equal(undefined) - expect(item.delete).to.not.equal(undefined) - expect(item.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should fetch main branch from branch uid', done => { - makeBranch(branch.uid) - .fetch() - .then((response) => { - expect(response.uid).to.be.equal(branch.uid) - expect(response.source).to.be.equal(branch.source) - expect(response.alias).to.not.equal(undefined) - expect(response.delete).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should fetch staging branch from branch uid', done => { - makeBranch(stageBranch.uid) - .fetch() - .then((response) => { - expect(response.uid).to.be.equal(stageBranch.uid) - expect(response.source).to.be.equal(stageBranch.source) - expect(response.alias).to.not.equal(undefined) - expect(response.delete).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should query branch for specific condition', done => { - makeBranch() - .query({ query: { source: 'main' } }) - .find() - .then((response) => { - expect(response.items.length).to.be.equal(1) - response.items.forEach(item => { - expect(item.uid).to.not.equal(undefined) - expect(item.source).to.be.equal(`main`) - expect(item.delete).to.not.equal(undefined) - expect(item.fetch).to.not.equal(undefined) - }) - done() - }) - .catch(done) - }) - - it('should query branch to return all branches', done => { - makeBranch() - .query() - .find() - .then((response) => { - response.items.forEach(item => { - expect(item.uid).to.not.equal(undefined) - expect(item.delete).to.not.equal(undefined) - expect(item.fetch).to.not.equal(undefined) - }) - done() - }) - .catch(done) - }) - - it('should provide list of content types and global fields that exist in only one branch or are different between the two branches', done => { - makeBranch(branch.uid) - .compare(stageBranch.uid) - .all() - .then((response) => { - expect(response.branches.base_branch).to.be.equal(branch.uid) - expect(response.branches.compare_branch).to.be.equal(stageBranch.uid) - done() - }) - .catch(done) - }) - - it('should list differences for a content types between two branches', done => { - makeBranch(branch.uid) - .compare(stageBranch.uid) - .contentTypes() - .then((response) => { - expect(response.branches.base_branch).to.be.equal(branch.uid) - expect(response.branches.compare_branch).to.be.equal(stageBranch.uid) - done() - }) - .catch(done) - }) - - it('should list differences for a global fields between two branches', done => { - makeBranch(branch.uid) - .compare(stageBranch.uid) - .globalFields() - .then((response) => { - expect(response.branches.base_branch).to.be.equal(branch.uid) - expect(response.branches.compare_branch).to.be.equal(stageBranch.uid) - done() - }) - .catch(done) - }) - - it('should merge given two branches', async () => { - const params = { - base_branch: branch.uid, - compare_branch: stageBranch.uid, - default_merge_strategy: 'ignore', - merge_comment: 'Merging staging into main' - } - const mergeObj = { - item_merge_strategies: [ - { - uid: 'global_field_uid', - type: 'global_field', - merge_strategy: 'merge_prefer_base' - }, - { - uid: 'ct5', - type: 'content_type', - merge_strategy: 'merge_prefer_compare' - }, - { - uid: 'bot_all', - type: 'content_type', - merge_strategy: 'merge_prefer_base' - } - ] - } - const response = await makeBranch().merge(mergeObj, params) - mergeJobUid = response.uid - expect(response.merge_details.base_branch).to.be.equal(branch.uid) - expect(response.merge_details.compare_branch).to.be.equal(stageBranch.uid) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) - - it('should list all recent merge jobs', done => { - makeBranch() - .mergeQueue() - .find() - .then((response) => { - expect(response.queue).to.not.equal(undefined) - expect(response.queue[0].merge_details.base_branch).to.be.equal(branch.uid) - expect(response.queue[0].merge_details.compare_branch).to.be.equal(stageBranch.uid) - done() - }) - .catch(done) - }) - - it('should list details of merge job when job uid is passed', done => { - makeBranch() - .mergeQueue(mergeJobUid) - .fetch() - .then((response) => { - expect(response.queue).to.not.equal(undefined) - expect(response.queue[0].merge_details.base_branch).to.be.equal(branch.uid) - expect(response.queue[0].merge_details.compare_branch).to.be.equal(stageBranch.uid) - done() - }) - .catch(done) - }) - - it('should delete dev branch from branch uid', done => { - makeBranch(devBranch.uid) - .delete() - .then((response) => { - expect(response.notice).to.be.equal('Your branch deletion is in progress. Please refresh in a while.') - done() - }) - .catch(done) - }) -}) - -function makeBranch (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).branch(uid) -} diff --git a/test/sanity-check/api/branchAlias-test.js b/test/sanity-check/api/branchAlias-test.js deleted file mode 100644 index 3451a3ed..00000000 --- a/test/sanity-check/api/branchAlias-test.js +++ /dev/null @@ -1,62 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { stageBranch } from '../mock/branch.js' - -var client = {} - -describe('Branch Alias api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('Should create Branch Alias', done => { - makeBranchAlias(`${stageBranch.uid}_alias`) - .createOrUpdate(stageBranch.uid) - .then((response) => { - expect(response.uid).to.be.equal(stageBranch.uid) - expect(response.urlPath).to.be.equal(`/stacks/branches/${stageBranch.uid}`) - expect(response.source).to.be.equal(stageBranch.source) - expect(response.alias).to.be.equal(`${stageBranch.uid}_alias`) - expect(response.delete).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('Branch query should return master branch', done => { - makeBranchAlias() - .fetchAll({ query: { uid: stageBranch.uid } }) - .then((response) => { - expect(response.items.length).to.be.equal(1) - var item = response.items[0] - expect(item.urlPath).to.be.equal(`/stacks/branches/${stageBranch.uid}`) - expect(item.delete).to.not.equal(undefined) - expect(item.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('Should fetch Branch Alias', done => { - makeBranchAlias(`${stageBranch.uid}_alias`) - .fetch() - .then((response) => { - expect(response.uid).to.be.equal(stageBranch.uid) - expect(response.urlPath).to.be.equal(`/stacks/branches/${stageBranch.uid}`) - expect(response.source).to.be.equal(stageBranch.source) - expect(response.alias).to.be.equal(`${stageBranch.uid}_alias`) - expect(response.delete).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - done() - }) - .catch(done) - }) -}) - -function makeBranchAlias (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).branchAlias(uid) -} diff --git a/test/sanity-check/api/bulkOperation-test.js b/test/sanity-check/api/bulkOperation-test.js deleted file mode 100644 index afa79406..00000000 --- a/test/sanity-check/api/bulkOperation-test.js +++ /dev/null @@ -1,121 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../../sanity-check/utility/fileOperations/readwrite' -import { contentstackClient } from '../../sanity-check/utility/ContentstackClient' -import { singlepageCT, multiPageCT } from '../mock/content-type.js' -import dotenv from 'dotenv' -dotenv.config() - -let client = {} -let entryUid1 = '' -let assetUid1 = '' -let entryUid2 = '' -let assetUid2 = '' - -describe('BulkOperation api test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - const entryRead1 = jsonReader('publishEntry1.json') - const assetRead1 = jsonReader('publishAsset1.json') - entryUid1 = entryRead1.uid - assetUid1 = assetRead1.uid - const entryRead2 = jsonReader('publishEntry2.json') - const assetRead2 = jsonReader('publishAsset2.json') - entryUid2 = entryRead2.uid - assetUid2 = assetRead2.uid - client = contentstackClient(user.authtoken) - }) - - it('should publish one entry when publishDetails of an entry is passed', done => { - const publishDetails = { - entries: [ - { - uid: entryUid1, - content_type: multiPageCT.content_type.title, - locale: 'en-us' - } - ], - locales: [ - 'en-us' - ], - environments: [ - 'development' - ] - } - doBulkOperation() - .publish({ details: publishDetails, api_version: '3.2' }) - .then((response) => { - expect(response.notice).to.not.equal(undefined) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should publish one asset when publishDetails of an asset is passed', done => { - const publishDetails = { - assets: [ - { - uid: assetUid1 - } - ], - locales: [ - 'en-us' - ], - environments: [ - 'development' - ] - } - doBulkOperation() - .publish({ details: publishDetails, api_version: '3.2' }) - .then((response) => { - expect(response.notice).to.not.equal(undefined) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should publish multiple entries assets when publishDetails of entries and assets are passed', done => { - const publishDetails = { - entries: [ - { - uid: entryUid1, - content_type: multiPageCT.content_type.uid, - locale: 'en-us' - }, - { - uid: entryUid2, - content_type: singlepageCT.content_type.uid, - locale: 'en-us' - } - ], - assets: [ - { - uid: assetUid1 - }, - { - uid: assetUid2 - } - ], - locales: [ - 'en-us' - ], - environments: [ - 'development' - ] - } - doBulkOperation() - .publish({ details: publishDetails, api_version: '3.2' }) - .then((response) => { - expect(response.notice).to.not.equal(undefined) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) -}) - -function doBulkOperation (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).bulkOperation() -} diff --git a/test/sanity-check/api/contentType-delete-test.js b/test/sanity-check/api/contentType-delete-test.js deleted file mode 100644 index ad294964..00000000 --- a/test/sanity-check/api/contentType-delete-test.js +++ /dev/null @@ -1,48 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { multiPageCT, singlepageCT } from '../mock/content-type' -import { contentstackClient } from '../utility/ContentstackClient' - -var client = {} - -describe('Content Type delete api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should content Type delete', done => { - makeContentType(multiPageCT.content_type.uid) - .delete().then((data) => { - expect(data.notice).to.be.equal('Content Type deleted successfully.') - done() - }) - makeContentType(singlepageCT.content_type.uid).delete() - .catch(done) - }) - - it('should delete ContentTypes', done => { - makeContentType('multi_page_from_json') - .delete() - .then((contentType) => { - expect(contentType.notice).to.be.equal('Content Type deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete Variant ContentTypes', done => { - makeContentType('iphone_prod_desc') - .delete() - .then((contentType) => { - expect(contentType.notice).to.be.equal('Content Type deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeContentType (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).contentType(uid) -} diff --git a/test/sanity-check/api/contentType-test.js b/test/sanity-check/api/contentType-test.js deleted file mode 100644 index 2ba90009..00000000 --- a/test/sanity-check/api/contentType-test.js +++ /dev/null @@ -1,131 +0,0 @@ -import path from 'path' -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { singlepageCT, multiPageCT, multiPageVarCT, schema } from '../mock/content-type.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -let client = {} -let multiPageCTUid = '' - -describe('Content Type api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create Single page ContentType Schema', done => { - makeContentType() - .create(singlepageCT) - .then((contentType) => { - expect(contentType.uid).to.be.equal(singlepageCT.content_type.uid) - expect(contentType.title).to.be.equal(singlepageCT.content_type.title) - done() - }) - .catch(done) - }) - - it('should create Multi page ContentType Schema', done => { - makeContentType() - .create(multiPageCT) - .then((contentType) => { - multiPageCTUid = contentType.uid - expect(contentType.uid).to.be.equal(multiPageCT.content_type.uid) - expect(contentType.title).to.be.equal(multiPageCT.content_type.title) - done() - }) - .catch(done) - }) - it('should create Multi page ContentType Schema for creating variants group', done => { - makeContentType() - .create(multiPageVarCT) - .then((contentType) => { - expect(contentType.uid).to.be.equal(multiPageVarCT.content_type.uid) - expect(contentType.title).to.be.equal(multiPageVarCT.content_type.title) - done() - }) - .catch(done) - }) - - it('should get all ContentType', done => { - makeContentType() - .query() - .find() - .then((response) => { - response.items.forEach(contentType => { - expect(contentType.uid).to.be.not.equal(null) - expect(contentType.title).to.be.not.equal(null) - expect(contentType.schema).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query ContentType title', done => { - makeContentType() - .query({ query: { title: singlepageCT.content_type.title } }) - .find() - .then((response) => { - response.items.forEach(contentType => { - expect(contentType.uid).to.be.not.equal(null) - expect(contentType.title).to.be.not.equal(null) - expect(contentType.schema).to.be.not.equal(null) - expect(contentType.uid).to.be.equal(singlepageCT.content_type.uid, 'UID not mathcing') - expect(contentType.title).to.be.equal(singlepageCT.content_type.title, 'Title not mathcing') - }) - done() - }) - .catch(done) - }) - - it('should fetch ContentType from uid', done => { - makeContentType(multiPageCT.content_type.uid) - .fetch() - .then((contentType) => { - expect(contentType.uid).to.be.equal(multiPageCT.content_type.uid) - expect(contentType.title).to.be.equal(multiPageCT.content_type.title) - done() - }) - .catch(done) - }) - - it('should fetch and Update ContentType schema', done => { - makeContentType(multiPageCTUid) - .fetch() - .then((contentType) => { - contentType.schema = schema - return contentType.update() - }) - .then((contentType) => { - expect(contentType.schema.length).to.be.equal(6) - done() - }) - .catch(done) - }) - - it('should update Multi page ContentType Schema without fetch', done => { - makeContentType(multiPageCT.content_type.uid) - .updateCT(multiPageCT) - .then((contentType) => { - expect(contentType.content_type.schema.length).to.be.equal(2) - done() - }) - .catch(done) - }) - - it('should import content type', done => { - makeContentType().import({ - content_type: path.join(__dirname, '../mock/contentType.json') - }) - .then((response) => { - expect(response.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) -}) - -function makeContentType (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).contentType(uid) -} diff --git a/test/sanity-check/api/create-test.js b/test/sanity-check/api/create-test.js deleted file mode 100644 index e69de29b..00000000 diff --git a/test/sanity-check/api/delete-test.js b/test/sanity-check/api/delete-test.js deleted file mode 100644 index e0210bfa..00000000 --- a/test/sanity-check/api/delete-test.js +++ /dev/null @@ -1,163 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { environmentCreate, environmentProdCreate } from '../mock/environment.js' -import { stageBranch } from '../mock/branch.js' -import { createDeliveryToken } from '../mock/deliveryToken.js' -import dotenv from 'dotenv' - -dotenv.config() - -let client = {} - -describe('Delete Environment api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('should delete an environment', done => { - makeEnvironment(environmentCreate.environment.name) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Environment deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete the prod environment', done => { - makeEnvironment(environmentProdCreate.environment.name) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Environment deleted successfully.') - done() - }) - .catch(done) - }) -}) - -describe('Delete Locale api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should delete language: Hindi - India', done => { - makeLocale('hi-in') - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Language removed successfully.') - done() - }) - .catch(done) - }) - - it('should delete language: English - Austria', done => { - makeLocale('en-at') - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Language removed successfully.') - done() - }) - .catch(done) - }) -}) - -describe('Delivery Token delete api Test', () => { - let tokenUID = '' - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should get token uid by name for deleting that token', done => { - makeDeliveryToken() - .query({ query: { name: createDeliveryToken.token.name } }) - .find() - .then((tokens) => { - tokens.items.forEach((token) => { - tokenUID = token.uid - }) - done() - }) - .catch(done) - }) - it('should delete Delivery token from uid', done => { - makeDeliveryToken(tokenUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Delivery Token deleted successfully.') - done() - }) - .catch(done) - }) -}) - -describe('Branch Alias delete api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('Should delete Branch Alias', done => { - try { - makeBranchAlias(`${stageBranch.uid}_alias`) - .delete() - .then((response) => { - expect(response.notice).to.be.equal('Branch alias deleted successfully.') - done() - }) - .catch(done) - } catch (e) { - done() - } - }) - it('Should delete stage branch from uid', done => { - client.stack({ api_key: process.env.API_KEY }).branch(stageBranch.uid) - .delete() - .then((response) => { - expect(response.notice).to.be.equal('Your branch deletion is in progress. Please refresh in a while.') - done() - }) - .catch(done) - }) -}) - -describe('Delete Asset Folder api Test', () => { - let folderUid = '' - setup(() => { - const user = jsonReader('loggedinuser.json') - const folder = jsonReader('folder.json') - folderUid = folder.uid - client = contentstackClient(user.authtoken) - }) - it('should delete an environment', done => { - makeAssetFolder(folderUid) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Folder deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeEnvironment (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).environment(uid) -} - -function makeLocale (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).locale(uid) -} - -function makeDeliveryToken (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).deliveryToken(uid) -} - -function makeBranchAlias (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).branchAlias(uid) -} - -function makeAssetFolder (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).asset().folder(uid) -} diff --git a/test/sanity-check/api/deliveryToken-test.js b/test/sanity-check/api/deliveryToken-test.js deleted file mode 100644 index 98d6a233..00000000 --- a/test/sanity-check/api/deliveryToken-test.js +++ /dev/null @@ -1,143 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { createDeliveryToken, createDeliveryToken2 } from '../mock/deliveryToken.js' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -let tokenUID = '' -describe('Delivery Token api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should add a Delivery Token for development', done => { - makeDeliveryToken() - .create(createDeliveryToken) - .then((token) => { - expect(token.name).to.be.equal(createDeliveryToken.token.name) - expect(token.description).to.be.equal(createDeliveryToken.token.description) - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should add a Delivery Token for production', done => { - makeDeliveryToken() - .create(createDeliveryToken2) - .then((token) => { - tokenUID = token.uid - expect(token.name).to.be.equal(createDeliveryToken2.token.name) - expect(token.description).to.be.equal(createDeliveryToken2.token.description) - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken2.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get a Delivery Token from uid', done => { - makeDeliveryToken(tokenUID) - .fetch() - .then((token) => { - expect(token.name).to.be.equal(createDeliveryToken2.token.name) - expect(token.description).to.be.equal(createDeliveryToken2.token.description) - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken2.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should query to get all Delivery Token', done => { - makeDeliveryToken() - .query() - .find() - .then((tokens) => { - tokens.items.forEach((token) => { - expect(token.name).to.be.not.equal(null) - expect(token.description).to.be.not.equal(null) - expect(token.scope[0].environments[0].name).to.be.not.equal(null) - expect(token.scope[0].module).to.be.not.equal(null) - expect(token.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query to get a Delivery Token from name', done => { - makeDeliveryToken() - .query({ query: { name: createDeliveryToken.token.name } }) - .find() - .then((tokens) => { - tokens.items.forEach((token) => { - expect(token.name).to.be.equal(createDeliveryToken.token.name) - expect(token.description).to.be.equal(createDeliveryToken.token.description) - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should fetch and update a Delivery Token from uid', done => { - makeDeliveryToken(tokenUID) - .fetch() - .then((token) => { - token.name = 'Update Production Name' - token.description = 'Update Production description' - token.scope = createDeliveryToken2.token.scope - return token.update() - }) - .then((token) => { - expect(token.name).to.be.equal('Update Production Name') - expect(token.description).to.be.equal('Update Production description') - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken2.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should update a Delivery Token from uid', done => { - const token = makeDeliveryToken(tokenUID) - Object.assign(token, createDeliveryToken2.token) - token.update() - .then((token) => { - expect(token.name).to.be.equal(createDeliveryToken2.token.name) - expect(token.description).to.be.equal(createDeliveryToken2.token.description) - expect(token.scope[0].environments[0].name).to.be.equal(createDeliveryToken2.token.scope[0].environments[0]) - expect(token.scope[0].module).to.be.equal(createDeliveryToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should delete a Delivery Token from uid', done => { - makeDeliveryToken(tokenUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Delivery Token deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeDeliveryToken (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).deliveryToken(uid) -} diff --git a/test/sanity-check/api/entry-test.js b/test/sanity-check/api/entry-test.js deleted file mode 100644 index ca3428eb..00000000 --- a/test/sanity-check/api/entry-test.js +++ /dev/null @@ -1,228 +0,0 @@ -import path from 'path' -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader, jsonWrite } from '../utility/fileOperations/readwrite' -import { multiPageCT, singlepageCT } from '../mock/content-type.js' -import { entryFirst, entrySecond, entryThird } from '../mock/entry.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -var entryUTD = '' -describe('Entry api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create Entry in Single ', done => { - var entry = { - title: 'Sample Entry', - url: 'sampleEntry' - } - makeEntry(singlepageCT.content_type.uid) - .create({ entry }) - .then((entryResponse) => { - entryUTD = entryResponse.uid - expect(entryResponse.title).to.be.equal(entry.title) - expect(entryResponse.url).to.be.equal(entry.url) - expect(entryResponse.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - it('should entry fetch with Content Type', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD) - .fetch({ include_content_type: true }) - .then((entryResponse) => { - expect(entryResponse.uid).to.be.not.equal(null) - expect(entryResponse.content_type).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should localize entry with title update', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD) - .fetch() - .then((entry) => { - entry.title = 'Sample Entry in en-at' - return entry.update({ locale: 'en-at' }) - }) - .then((entryResponse) => { - jsonWrite(entryResponse, 'publishEntry2.json') - entryUTD = entryResponse.uid - expect(entryResponse.title).to.be.equal('Sample Entry in en-at') - expect(entryResponse.uid).to.be.not.equal(null) - expect(entryResponse.locale).to.be.equal('en-at') - done() - }) - .catch(done) - }) - - it('should create Entries for Multiple page', done => { - makeEntry(multiPageCT.content_type.uid) - .create({ entry: entryFirst }) - .then((entry) => { - expect(entry.uid).to.be.not.equal(null) - expect(entry.title).to.be.equal(entryFirst.title) - expect(entry.url).to.be.equal(`/${entryFirst.title.toLowerCase().replace(/ /g, '-')}`) - done() - }) - .catch(done) - }) - - it('should create Entries 2 for Multiple page', done => { - makeEntry(multiPageCT.content_type.uid) - .create({ entry: entrySecond }) - .then((entry) => { - expect(entry.uid).to.be.not.equal(null) - expect(entry.title).to.be.equal(entrySecond.title) - expect(entry.url).to.be.equal(`/${entrySecond.title.toLowerCase().replace(/ /g, '-')}`) - expect(entry.tags[0]).to.be.equal(entrySecond.tags[0]) - done() - }) - .catch(done) - }) - - it('should create Entries 3 for Multiple page', done => { - makeEntry(multiPageCT.content_type.uid) - .create({ entry: entryThird }) - .then((entry) => { - expect(entry.uid).to.be.not.equal(null) - expect(entry.title).to.be.equal(entryThird.title) - expect(entry.url).to.be.equal(`/${entryThird.title.toLowerCase().replace(/ /g, '-')}`) - expect(entry.tags[0]).to.be.equal(entryThird.tags[0]) - done() - }) - .catch(done) - }) - - it('should get all Entry', done => { - makeEntry(multiPageCT.content_type.uid) - .query({ include_count: true, include_content_type: true }).find() - .then((collection) => { - jsonWrite(collection.items, 'entry.json') - expect(collection.count).to.be.equal(3) - collection.items.forEach((entry) => { - expect(entry.uid).to.be.not.equal(null) - expect(entry.content_type_uid).to.be.equal(multiPageCT.content_type.uid) - }) - done() - }) - .catch(done) - }) - - it('should get all Entry from tag', done => { - makeEntry(multiPageCT.content_type.uid) - .query({ include_count: true, query: { tags: entrySecond.tags[0] } }).find() - .then((collection) => { - expect(collection.count).to.be.equal(1) - collection.items.forEach((entry) => { - expect(entry.uid).to.be.not.equal(null) - expect(entry.tags).to.have.all.keys(0) - }) - done() - }) - .catch(done) - }) - - it('should publish Entry', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD) - .publish({ - publishDetails: { - locales: ['en-us'], - environments: ['development'] - } - }) - .then((data) => { - expect(data.notice).to.be.equal('The requested action has been performed.') - done() - }) - .catch(done) - }) - - it('should publish localized Entry to locales', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD) - .publish({ - publishDetails: { - locales: ['hi-in', 'en-at'], - environments: ['development'] - }, - locale: 'en-at' - }) - .then((data) => { - expect(data.notice).to.be.equal('The requested action has been performed.') - done() - }) - .catch(done) - }) - - it('should get languages of the given Entry uid', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD).locales() - .then((locale) => { - expect(locale.locales[0].code).to.be.equal('en-us') - locale.locales.forEach((locales) => { - expect(locales.code).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should get references of the given Entry uid', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD).references() - .then((reference) => { - reference.references.forEach((references) => { - expect(references.entry_uid).to.be.not.equal(null) - expect(references.content_type_uid).to.be.not.equal(null) - expect(references.content_type_title).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should unpublish localized entry', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD) - .unpublish({ - publishDetails: { - locales: ['hi-in', 'en-at'], - environments: ['development'] - }, - locale: 'en-at' - }) - .then((data) => { - expect(data.notice).to.be.equal('The requested action has been performed.') - done() - }) - .catch(done) - }) - - it('should import Entry', done => { - makeEntry(multiPageCT.content_type.uid) - .import({ - entry: path.join(__dirname, '../mock/entry.json') - }) - .then((response) => { - jsonWrite(response, 'publishEntry1.json') - expect(response.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get entry variants of the given Entry uid', done => { - makeEntry(singlepageCT.content_type.uid, entryUTD).includeVariants('true', 'variants_uid') - .then((response) => { - expect(response.uid).to.be.not.equal(null) - expect(response._variants).to.be.not.equal(null) - done() - }) - .catch(done) - }) -}) - -function makeEntry (contentType, uid = null) { - return client.stack({ api_key: process.env.API_KEY }).contentType(contentType).entry(uid) -} diff --git a/test/sanity-check/api/entryVariants-test.js b/test/sanity-check/api/entryVariants-test.js deleted file mode 100644 index 719f5539..00000000 --- a/test/sanity-check/api/entryVariants-test.js +++ /dev/null @@ -1,226 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { createVariantGroup } from '../mock/variantGroup.js' -import { variant } from '../mock/variants.js' -import { - variantEntryFirst, - publishVariantEntryFirst, - unpublishVariantEntryFirst -} from '../mock/variantEntry.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -var variantUid = '' -var variantGroupUid = '' -var contentTypeUid = '' -var entryUid = '' - -describe('Entry Variants api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - const entry = jsonReader('entry.json') - entryUid = entry[2].uid - contentTypeUid = entry[2].content_type_uid - }) - - it('should create a Variant Group', (done) => { - makeVariantGroup() - .create(createVariantGroup) - .then((variantGroup) => { - variantGroupUid = variantGroup.uid - expect(variantGroup.name).to.be.equal(createVariantGroup.name) - expect(variantGroup.uid).to.be.equal(createVariantGroup.uid) - done() - }) - .catch(done) - }) - - it('should create a Variants', (done) => { - makeVariants() - .create(variant) - .then((variants) => { - variantUid = variants.uid - expect(variants.name).to.be.equal(variant.name) - expect(variants.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should update/create variant of an entry', (done) => { - makeEntryVariants(variantUid) - .update(variantEntryFirst) - .then((variantEntry) => { - expect(variantEntry.entry.title).to.be.equal('First page variant') - expect(variantEntry.entry._variant._uid).to.be.not.equal(null) - expect(variantEntry.notice).to.be.equal( - 'Entry variant created successfully.' - ) - done() - }) - .catch(done) - }) - - it('should get an entry variant', (done) => { - makeEntryVariants(variantUid) - .fetch(variantUid) - .then((variantEntry) => { - expect(variantEntry.entry.title).to.be.equal('First page variant') - expect(variantEntry.entry._variant._uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should publish entry variant', (done) => { - publishVariantEntryFirst.entry.variants[0].uid = variantUid - - makeEntry() - .entry(entryUid) - .publish({ - publishDetails: publishVariantEntryFirst.entry, - locale: publishVariantEntryFirst.locale - }) - .then((data) => { - expect(data.notice).to.be.equal( - 'The requested action has been performed.' - ) - expect(data.job_id).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should unpublish entry variant', (done) => { - unpublishVariantEntryFirst.entry.variants[0].uid = variantUid - makeEntry() - .entry(entryUid) - .unpublish({ - publishDetails: publishVariantEntryFirst.entry, - locale: publishVariantEntryFirst.locale - }) - .then((data) => { - expect(data.notice).to.be.equal( - 'The requested action has been performed.' - ) - expect(data.job_id).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should publish entry variant using api_version', (done) => { - publishVariantEntryFirst.entry.variants[0].uid = variantUid - makeEntry() - .entry(entryUid, { api_version: '3.2' }) - .publish({ - publishDetails: publishVariantEntryFirst.entry, - locale: publishVariantEntryFirst.locale - }) - .then((data) => { - expect(data.notice).to.be.equal( - 'The requested action has been performed.' - ) - expect(data.job_id).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should unpublish entry variant using api_version', (done) => { - unpublishVariantEntryFirst.entry.variants[0].uid = variantUid - makeEntry() - .entry(entryUid, { api_version: '3.2' }) - .unpublish({ - publishDetails: unpublishVariantEntryFirst.entry, - locale: unpublishVariantEntryFirst.locale - }) - .then((data) => { - expect(data.notice).to.be.equal( - 'The requested action has been performed.' - ) - expect(data.job_id).to.be.not.equal(null) - done() - }) - .catch(done) - }) - it('should get all entry variants', (done) => { - makeEntryVariants() - .query({}) - .find() - .then((variantEntries) => { - expect(variantEntries.items).to.be.an('array') - expect(variantEntries.items[0].variants.title).to.be.equal( - 'First page variant' - ) - expect(variantEntries.items[0].variants._variant._uid).to.be.not.equal( - null - ) - done() - }) - .catch(done) - }) - - it('should delete entry variant from uid', (done) => { - makeEntryVariants(variantUid) - .delete(variantUid) - .then((variantEntry) => { - expect(variantEntry.notice).to.be.equal( - 'Entry variant deleted successfully.' - ) - done() - }) - .catch(done) - }) - - it('Delete a Variant from uid', (done) => { - makeVariantGroup(variantGroupUid) - .variants(variantUid) - .delete() - .then((data) => { - expect(data.message).to.be.equal('Variant deleted successfully') - done() - }) - .catch(done) - }) - - it('Delete a Variant Group from uid', (done) => { - makeVariantGroup(variantGroupUid) - .delete() - .then((data) => { - expect(data.message).to.be.equal( - 'Variant Group and Variants deleted successfully' - ) - done() - }) - .catch(done) - }) -}) - -function makeVariants (uid = null) { - return client - .stack({ api_key: process.env.API_KEY }) - .variantGroup(variantGroupUid) - .variants(uid) -} - -function makeVariantGroup (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).variantGroup(uid) -} - -function makeEntryVariants (uid = null) { - return client - .stack({ api_key: process.env.API_KEY }) - .contentType(contentTypeUid) - .entry(entryUid) - .variants(uid) -} - -function makeEntry () { - return client - .stack({ api_key: process.env.API_KEY }) - .contentType(contentTypeUid) -} diff --git a/test/sanity-check/api/environment-test.js b/test/sanity-check/api/environment-test.js deleted file mode 100644 index 2ac4db9e..00000000 --- a/test/sanity-check/api/environment-test.js +++ /dev/null @@ -1,136 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader, jsonWrite } from '../utility/fileOperations/readwrite' -import { environmentCreate, environmentProdCreate } from '../mock/environment.js' -import { cloneDeep } from 'lodash' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -describe('Environment api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('Add a Environment development', done => { - makeEnvironment() - .create(environmentCreate) - .then((environment) => { - expect(environment.name).to.be.equal(environmentCreate.environment.name) - expect(environment.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Add a Environment production', done => { - makeEnvironment() - .create(environmentProdCreate) - .then((environment) => { - expect(environment.name).to.be.equal(environmentProdCreate.environment.name) - expect(environment.uid).to.be.not.equal(null) - expect(environment.urls).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Get a Environment development', done => { - makeEnvironment(environmentCreate.environment.name) - .fetch() - .then((environment) => { - expect(environment.name).to.be.equal(environmentCreate.environment.name) - expect(environment.uid).to.be.not.equal(null) - expect(environment.urls).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Query a Environment development', done => { - makeEnvironment() - .query({ query: { name: environmentCreate.environment.name } }) - .find() - .then((environments) => { - environments.items.forEach((environment) => { - expect(environment.name).to.be.equal(environmentCreate.environment.name) - expect(environment.uid).to.be.not.equal(null) - expect(environment.urls).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Fetch and Update a Environment', done => { - makeEnvironment(environmentCreate.environment.name) - .fetch() - .then((environment) => { - environment.name = 'dev' - return environment.update() - }) - .then((environment) => { - expect(environment.name).to.be.equal('dev') - expect(environment.urls).to.be.not.equal(null) - expect(environment.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Update a Environment', done => { - var environment = makeEnvironment('dev') - Object.assign(environment, cloneDeep(environmentCreate.environment)) - environment.update() - .then((environment) => { - expect(environment.name).to.be.equal(environmentCreate.environment.name) - expect(environment.urls).to.be.not.equal(null) - expect(environment.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('delete a Environment', done => { - makeEnvironment(environmentProdCreate.environment.name) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Environment deleted successfully.') - done() - }) - .catch(done) - }) - - it('Add a Environment production', done => { - makeEnvironment() - .create(environmentProdCreate) - .then((environment) => { - expect(environment.name).to.be.equal(environmentProdCreate.environment.name) - expect(environment.uid).to.be.not.equal(null) - expect(environment.urls).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Query all Environments', done => { - makeEnvironment() - .query() - .find() - .then((environments) => { - jsonWrite(environments.items, 'environments.json') - environments.items.forEach((environment) => { - expect(environment.name).to.be.not.equal(null) - expect(environment.uid).to.be.not.equal(null) - expect(environment.urls).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) -}) - -function makeEnvironment (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).environment(uid) -} diff --git a/test/sanity-check/api/extension-test.js b/test/sanity-check/api/extension-test.js deleted file mode 100644 index 250c9c1c..00000000 --- a/test/sanity-check/api/extension-test.js +++ /dev/null @@ -1,486 +0,0 @@ -import path from 'path' -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { customFieldURL, customFieldSRC, customWidgetURL, customWidgetSRC, customDashboardURL, customDashboardSRC } from '../mock/extension' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -let customFieldUID = '' -let customWidgetUID = '' -let customDashboardUID = '' -let customFieldSrcUID = '' -let customWidgetSrcUID = '' -let customDashboardSrcUID = '' -let customFieldUploadUID = '' -let customWidgetUploadUID = '' -let customDashboardUploadUID = '' - -describe('Extension api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create Custom field with source URL', done => { - makeExtension() - .create(customFieldURL) - .then((extension) => { - expect(extension.uid).to.be.not.equal(null) - customFieldUID = extension.uid - expect(extension.title).to.be.equal(customFieldURL.extension.title) - expect(extension.src).to.be.equal(customFieldURL.extension.src) - expect(extension.type).to.be.equal(customFieldURL.extension.type) - expect(extension.tag).to.be.equal(customFieldURL.extension.tag) - done() - }) - .catch(done) - }) - - it('should create Custom field with source Code', done => { - makeExtension() - .create(customFieldSRC) - .then((extension) => { - customFieldSrcUID = extension.uid - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.equal(customFieldSRC.extension.title) - expect(extension.src).to.be.equal(customFieldSRC.extension.src) - expect(extension.type).to.be.equal(customFieldSRC.extension.type) - expect(extension.tag).to.be.equal(customFieldSRC.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(422, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension creation failed. Please try again.', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(344, 'Error code does not match') - done() - }) - }) - - it('should create Custom widget with source URL', done => { - makeExtension() - .create(customWidgetURL) - .then((extension) => { - expect(extension.uid).to.be.not.equal(null) - customWidgetUID = extension.uid - expect(extension.title).to.be.equal(customWidgetURL.extension.title) - expect(extension.src).to.be.equal(customWidgetURL.extension.src) - expect(extension.type).to.be.equal(customWidgetURL.extension.type) - expect(extension.tag).to.be.equal(customWidgetURL.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(422, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension creation failed. Please try again.', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(344, 'Error code does not match') - done() - }) - }) - - it('should create Custom widget with source Code', done => { - makeExtension() - .create(customWidgetSRC) - .then((extension) => { - customWidgetSrcUID = extension.uid - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.equal(customWidgetSRC.extension.title) - expect(extension.src).to.be.equal(customWidgetSRC.extension.src) - expect(extension.type).to.be.equal(customWidgetSRC.extension.type) - expect(extension.tag).to.be.equal(customWidgetSRC.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(422, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension creation failed. Please try again.', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(344, 'Error code does not match') - done() - }) - }) - - it('should create Custom dashboard with source URL', done => { - makeExtension() - .create(customDashboardURL) - .then((extension) => { - expect(extension.uid).to.be.not.equal(null) - customDashboardUID = extension.uid - expect(extension.title).to.be.equal(customDashboardURL.extension.title) - expect(extension.src).to.be.equal(customDashboardURL.extension.src) - expect(extension.type).to.be.equal(customDashboardURL.extension.type) - expect(extension.tag).to.be.equal(customDashboardURL.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(422, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension creation failed. Please try again.', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(344, 'Error code does not match') - done() - }) - }) - - it('should create Custom dashboard with source Code', done => { - makeExtension() - .create(customDashboardSRC) - .then((extension) => { - customDashboardSrcUID = extension.uid - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.equal(customDashboardSRC.extension.title) - expect(extension.src).to.be.equal(customDashboardSRC.extension.src) - expect(extension.type).to.be.equal(customDashboardSRC.extension.type) - expect(extension.tag).to.be.equal(customDashboardSRC.extension.tag) - done() - }) - .catch(done) - }) - - it('should fetch and Update Custom fields', done => { - makeExtension(customFieldUID) - .fetch() - .then((extension) => { - expect(extension.title).to.be.equal(customFieldURL.extension.title) - expect(extension.src).to.be.equal(customFieldURL.extension.src) - expect(extension.type).to.be.equal(customFieldURL.extension.type) - expect(extension.tag).to.be.equal(customFieldURL.extension.tag) - extension.title = 'Old field' - return extension.update() - }) - .then((extension) => { - expect(extension.uid).to.be.equal(customFieldUID) - expect(extension.title).to.be.equal('Old field') - expect(extension.src).to.be.equal(customFieldURL.extension.src) - expect(extension.type).to.be.equal(customFieldURL.extension.type) - expect(extension.tag).to.be.equal(customFieldURL.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should fetch and Update Custom Widget', done => { - makeExtension(customWidgetUID) - .fetch() - .then((extension) => { - expect(extension.title).to.be.equal(customWidgetURL.extension.title) - expect(extension.src).to.be.equal(customWidgetURL.extension.src) - expect(extension.type).to.be.equal(customWidgetURL.extension.type) - expect(extension.tag).to.be.equal(customWidgetURL.extension.tag) - extension.title = 'Old widget' - return extension.update() - }) - .then((extension) => { - expect(extension.uid).to.be.equal(customWidgetUID) - expect(extension.title).to.be.equal('Old widget') - expect(extension.src).to.be.equal(customWidgetURL.extension.src) - expect(extension.type).to.be.equal(customWidgetURL.extension.type) - expect(extension.tag).to.be.equal(customWidgetURL.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should fetch and Update Custom dashboard', done => { - makeExtension(customDashboardUID) - .fetch() - .then((extension) => { - expect(extension.title).to.be.equal(customDashboardURL.extension.title) - expect(extension.src).to.be.equal(customDashboardURL.extension.src) - expect(extension.type).to.be.equal(customDashboardURL.extension.type) - expect(extension.tag).to.be.equal(customDashboardURL.extension.tag) - extension.title = 'Old dashboard' - return extension.update() - }) - .then((extension) => { - expect(extension.uid).to.be.equal(customDashboardUID) - expect(extension.title).to.be.equal('Old dashboard') - expect(extension.src).to.be.equal(customDashboardURL.extension.src) - expect(extension.type).to.be.equal(customDashboardURL.extension.type) - expect(extension.tag).to.be.equal(customDashboardURL.extension.tag) - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should query Custom field', done => { - makeExtension() - .query({ query: { type: 'field' } }) - .find() - .then((extensions) => { - extensions.items.forEach(extension => { - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.not.equal(null) - expect(extension.type).to.be.equal('field') - }) - done() - }) - .catch(done) - }) - - it('should query Custom widget', done => { - makeExtension() - .query({ query: { type: 'widget' } }) - .find() - .then((extensions) => { - extensions.items.forEach(extension => { - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.not.equal(null) - expect(extension.type).to.be.equal('widget') - }) - done() - }) - .catch(done) - }) - - it('should query Custom dashboard', done => { - makeExtension() - .query({ query: { type: 'dashboard' } }) - .find() - .then((extensions) => { - extensions.items.forEach(extension => { - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.not.equal(null) - expect(extension.type).to.be.equal('dashboard') - }) - done() - }) - .catch(done) - }) - - it('should upload Custom field', done => { - makeExtension() - .upload({ - title: 'Custom field Upload', - data_type: customFieldURL.extension.data_type, - type: customFieldURL.extension.type, - tags: customFieldURL.extension.tags, - multiple: customFieldURL.extension.multiple, - upload: path.join(__dirname, '../mock/customUpload.html') - }) - .then((extension) => { - customFieldUploadUID = extension.uid - expect(extension.uid).to.be.not.equal(null) - expect(extension.title).to.be.equal('Custom field Upload') - expect(extension.data_type).to.be.equal(customFieldURL.extension.data_type) - expect(extension.type).to.be.equal(customFieldURL.extension.type) - expect(extension.tag).to.be.equal(customFieldURL.extension.tag) - done() - }) - .catch(done) - }) - - it('should upload Custom widget', done => { - makeExtension() - .upload({ - title: 'Custom widget Upload', - data_type: customWidgetURL.extension.data_type, - type: customWidgetURL.extension.type, - scope: customWidgetURL.extension.scope, - tags: customWidgetURL.extension.tags.join(','), - upload: path.join(__dirname, '../mock/customUpload.html') - }) - .then((extension) => { - expect(extension.uid).to.be.not.equal(null) - customWidgetUploadUID = extension.uid - expect(extension.title).to.be.equal('Custom widget Upload') - expect(extension.type).to.be.equal(customWidgetURL.extension.type) - expect(extension.tag).to.be.equal(customWidgetURL.extension.tag) - done() - }) - .catch(done) - }) - - it('should upload dashboard', done => { - makeExtension() - .upload({ - title: 'Custom dashboard Upload', - data_type: customDashboardURL.extension.data_type, - type: customDashboardURL.extension.type, - tags: customDashboardURL.extension.tags, - enable: customDashboardURL.extension.enable, - default_width: customDashboardURL.extension.default_width, - upload: path.join(__dirname, '../mock/customUpload.html') - }) - .then((extension) => { - expect(extension.uid).to.be.not.equal(null) - customDashboardUploadUID = extension.uid - expect(extension.title).to.be.equal('Custom dashboard Upload') - expect(extension.data_type).to.be.equal(customDashboardURL.extension.data_type) - expect(extension.type).to.be.equal(customDashboardURL.extension.type) - expect(extension.tag).to.be.equal(customDashboardURL.extension.tag) - expect(extension.enable).to.be.equal(customDashboardURL.extension.enable) - expect(extension.default_width).to.be.equal(customDashboardURL.extension.default_width) - done() - }) - .catch(done) - }) - - it('should delete Custom field', done => { - makeExtension(customFieldUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom widget', done => { - makeExtension(customWidgetUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom dashboard', done => { - makeExtension(customDashboardUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom field created from src', done => { - makeExtension(customFieldSrcUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom widget created from src', done => { - makeExtension(customWidgetSrcUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom dashboard created from src', done => { - makeExtension(customDashboardSrcUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom field uploaded', done => { - makeExtension(customFieldUploadUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom widget uploaded', done => { - makeExtension(customWidgetUploadUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) - - it('should delete Custom dashboard uploaded', done => { - makeExtension(customDashboardUploadUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Extension deleted successfully.') - done() - }) - .catch((error) => { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(404, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal('Extension was not found', 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(347, 'Error code does not match') - done() - }) - }) -}) - -function makeExtension (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).extension(uid) -} diff --git a/test/sanity-check/api/globalfield-test.js b/test/sanity-check/api/globalfield-test.js deleted file mode 100644 index 789224fc..00000000 --- a/test/sanity-check/api/globalfield-test.js +++ /dev/null @@ -1,249 +0,0 @@ -import path from 'path' -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { createGlobalField } from '../mock/globalfield' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} -let createGlobalFieldUid = '' -describe('Global Field api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create global field', (done) => { - makeGlobalField() - .create(createGlobalField) - .then((globalField) => { - globalField = globalField.global_field - expect(globalField.uid).to.be.equal(createGlobalField.global_field.uid) - expect(globalField.title).to.be.equal( - createGlobalField.global_field.title - ) - expect(globalField.schema[0].uid).to.be.equal( - createGlobalField.global_field.schema[0].uid - ) - expect(globalField.schema[0].data_type).to.be.equal( - createGlobalField.global_field.schema[0].data_type - ) - expect(globalField.schema[0].display_name).to.be.equal( - createGlobalField.global_field.schema[0].display_name - ) - done() - }) - .catch(done) - }) - - it('should fetch global Field', (done) => { - makeGlobalField(createGlobalField.global_field.uid) - .fetch() - .then((globalField) => { - globalField = globalField.global_field - expect(globalField.uid).to.be.equal(createGlobalField.global_field.uid) - expect(globalField.title).to.be.equal( - createGlobalField.global_field.title - ) - expect(globalField.schema[0].uid).to.be.equal( - createGlobalField.global_field.schema[0].uid - ) - expect(globalField.schema[0].data_type).to.be.equal( - createGlobalField.global_field.schema[0].data_type - ) - expect(globalField.schema[0].display_name).to.be.equal( - createGlobalField.global_field.schema[0].display_name - ) - done() - }) - .catch(done) - }) - - it('should update global Field', (done) => { - makeGlobalField(createGlobalField.global_field.uid) - .update(createGlobalField) - .then((updateGlobal) => { - updateGlobal = updateGlobal.global_field - expect(updateGlobal.uid).to.be.equal( - createGlobalField.global_field.uid - ) - expect(updateGlobal.title).to.be.equal( - createGlobalField.global_field.title - ) - expect(updateGlobal.schema[0].uid).to.be.equal( - createGlobalField.global_field.schema[0].uid - ) - expect(updateGlobal.schema[0].data_type).to.be.equal( - createGlobalField.global_field.schema[0].data_type - ) - expect(updateGlobal.schema[0].display_name).to.be.equal( - createGlobalField.global_field.schema[0].display_name - ) - done() - }) - .catch(done) - }) - - it('should import global Field', (done) => { - makeGlobalField() - .import({ - global_field: path.join(__dirname, '../mock/globalfield.json') - }) - .then((response) => { - createGlobalFieldUid = response.uid - expect(response.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get all global field from Query', (done) => { - makeGlobalField() - .query() - .find() - .then((collection) => { - collection.items.forEach((globalField) => { - expect(globalField.uid).to.be.not.equal(null) - expect(globalField.title).to.be.not.equal(null) - expect(globalField.schema).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should get global field title matching Upload', (done) => { - makeGlobalField() - .query({ query: { title: 'Upload' } }) - .find() - .then((collection) => { - collection.items.forEach((globalField) => { - expect(globalField.uid).to.be.not.equal(null) - expect(globalField.title).to.be.equal('Upload') - }) - done() - }) - .catch(done) - }) - - // it("should get all nested global fields from Query", (done) => { - // makeGlobalField({ api_version: '3.2' }) - // .query() - // .find() - // .then((collection) => { - // collection.items.forEach((globalField) => { - // expect(globalField.uid).to.be.not.equal(null); - // expect(globalField.title).to.be.not.equal(null); - // }); - // done(); - // }) - // .catch(done); - // }); - - // it('should create nested global field for reference', done => { - // makeGlobalField({ api_version: '3.2' }).create(createNestedGlobalFieldForReference) - // .then(globalField => { - // expect(globalField.global_field.uid).to.be.equal(createNestedGlobalFieldForReference.global_field.uid); - // done(); - // }) - // .catch(err => { - // console.error('Error:', err.response?.data || err.message); - // done(err); - // }); - // }); - - // it('should create nested global field', done => { - // makeGlobalField({ api_version: '3.2' }).create(createNestedGlobalField) - // .then(globalField => { - // expect(globalField.global_field.uid).to.be.equal(createNestedGlobalField.global_field.uid); - // done(); - // }) - // .catch(err => { - // console.error('Error:', err.response?.data || err.message); - // done(err); - // }); - // }); - - // it('should fetch nested global field', done => { - // makeGlobalField(createNestedGlobalField.global_field.uid, { api_version: '3.2' }).fetch() - // .then(globalField => { - // expect(globalField.global_field.uid).to.be.equal(createNestedGlobalField.global_field.uid); - // done(); - // }) - // .catch(err => { - // console.error('Error:', err.response?.data || err.message); - // done(err); - // }); - // }); - - // it('should update nested global fields without fetch', done => { - // makeGlobalField(createNestedGlobalField.global_field.uid, { api_version: '3.2' }) - // .update(createNestedGlobalField) - // .then((globalField) => { - // expect(globalField.global_field.schema.length).to.be.equal(2) - // done() - // }) - // .catch(done) - // }) - - // it("should delete nested global field", (done) => { - // makeGlobalField(createNestedGlobalField.global_field.uid, { api_version: '3.2' }) - // .delete() - // .then((data) => { - // expect(data.notice).to.be.equal("Global Field deleted successfully."); - // done(); - // }) - // .catch((err) => { - // console.error("Error:", err.response?.data || err.message); - // done(err); - // }); - // }); - - // it("should delete nested global reference field", (done) => { - // makeGlobalField(createNestedGlobalFieldForReference.global_field.uid, { api_version: '3.2' }) - // .delete() - // .then((data) => { - // expect(data.notice).to.be.equal("Global Field deleted successfully."); - // done(); - // }) - // .catch((err) => { - // console.error("Error:", err.response?.data || err.message); - // done(err); - // }); - // }); - - it('should delete global Field', (done) => { - makeGlobalField(createGlobalField.global_field.uid) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Global Field deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete imported global Field', (done) => { - makeGlobalField(createGlobalFieldUid) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Global Field deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeGlobalField (globalFieldUid = null, options = {}) { - let uid = null - let finalOptions = options - if (typeof globalFieldUid === 'object') { - finalOptions = globalFieldUid - } else { - uid = globalFieldUid - } - finalOptions = finalOptions || {} - return client - .stack({ api_key: process.env.API_KEY }).globalField(uid, finalOptions) -} diff --git a/test/sanity-check/api/label-test.js b/test/sanity-check/api/label-test.js deleted file mode 100644 index 6e2412eb..00000000 --- a/test/sanity-check/api/label-test.js +++ /dev/null @@ -1,137 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { singlepageCT } from '../mock/content-type.js' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -const label = { - name: 'First label', - content_types: [singlepageCT.content_type.uid] -} - -let labelUID = '' -let deleteLabelUID = '' -describe('Label api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create a Label', done => { - makeLabel() - .create({ label }) - .then((labelResponse) => { - labelUID = labelResponse.uid - expect(labelResponse.uid).to.be.not.equal(null) - expect(labelResponse.name).to.be.equal(label.name) - expect(labelResponse.content_types[0]).to.be.equal(label.content_types[0]) - done() - }) - .catch(done) - }) - - it('should create Label with parent uid', done => { - const label = { - name: 'With Parent label', - parent: [labelUID], - content_types: [singlepageCT.content_type.uid] - } - makeLabel() - .create({ label }) - .then((labelResponse) => { - deleteLabelUID = labelResponse.uid - expect(labelResponse.uid).to.be.not.equal(null) - expect(labelResponse.name).to.be.equal(label.name) - expect(labelResponse.parent[0]).to.be.equal(label.parent[0]) - expect(labelResponse.content_types[0]).to.be.equal(label.content_types[0]) - done() - }) - .catch(done) - }) - - it('should fetch label from uid', done => { - makeLabel(labelUID) - .fetch() - .then((labelResponse) => { - expect(labelResponse.uid).to.be.equal(labelUID) - expect(labelResponse.name).to.be.equal(label.name) - expect(labelResponse.content_types[0]).to.be.equal(label.content_types[0]) - done() - }) - .catch(done) - }) - - it('should query to get all labels', done => { - makeLabel() - .query({ query: { name: label.name } }) - .find() - .then((response) => { - response.items.forEach((labelResponse) => { - expect(labelResponse.uid).to.be.not.equal(null) - expect(labelResponse.name).to.be.not.equal(null) - expect(labelResponse.content_types).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query label with name', done => { - makeLabel() - .query({ query: { name: label.name } }) - .find() - .then((response) => { - response.items.forEach((labelResponse) => { - expect(labelResponse.uid).to.be.equal(labelUID) - expect(labelResponse.name).to.be.equal(label.name) - expect(labelResponse.content_types[0]).to.be.equal(label.content_types[0]) - }) - done() - }) - .catch(done) - }) - - it('should fetch and update label from uid', done => { - makeLabel(labelUID) - .fetch() - .then((labelResponse) => { - labelResponse.name = 'Update Name' - return labelResponse.update() - }) - .then((labelResponse) => { - expect(labelResponse.uid).to.be.equal(labelUID) - expect(labelResponse.name).to.be.equal('Update Name') - expect(labelResponse.content_types[0]).to.be.equal(label.content_types[0]) - done() - }) - .catch(done) - }) - - it('should delete parent label from uid', done => { - makeLabel(deleteLabelUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Label deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete label from uid', done => { - makeLabel(labelUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Label deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeLabel (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).label(uid) -} diff --git a/test/sanity-check/api/locale-test.js b/test/sanity-check/api/locale-test.js deleted file mode 100644 index 913a5188..00000000 --- a/test/sanity-check/api/locale-test.js +++ /dev/null @@ -1,127 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' - -let client = {} - -describe('Locale api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should add a language English - Austria', done => { - makeLocale() - .create({ locale: { code: 'en-at' } }) - .then((locale) => { - expect(locale.code).to.be.equal('en-at') - expect(locale.name).to.be.equal('English - Austria') - expect(locale.fallback_locale).to.be.equal('en-us') - expect(locale.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should add a language Hindi - India', done => { - makeLocale() - .create({ locale: { code: 'hi-in' } }) - .then((locale) => { - expect(locale.code).to.be.equal('hi-in') - expect(locale.name).to.be.equal('Hindi - India') - expect(locale.fallback_locale).to.be.equal('en-us') - expect(locale.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should add a language Marathi - India with Fallback en-at', done => { - makeLocale() - .create({ locale: { code: 'mr-in', fallback_locale: 'en-at' } }) - .then((locale) => { - expect(locale.code).to.be.equal('mr-in') - expect(locale.name).to.be.equal('Marathi - India') - expect(locale.fallback_locale).to.be.equal('en-at') - expect(locale.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get a all languages', done => { - makeLocale() - .query() - .find() - .then((locales) => { - locales.items.forEach((locale) => { - expect(locale.code).to.be.not.equal(null) - expect(locale.name).to.be.not.equal(null) - expect(locale.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query a language Hindi - India', done => { - makeLocale() - .query({ query: { name: 'Hindi - India' } }) - .find() - .then((locales) => { - locales.items.forEach((locale) => { - expect(locale.code).to.be.equal('hi-in') - expect(locale.name).to.be.equal('Hindi - India') - expect(locale.fallback_locale).to.be.equal('en-us') - expect(locale.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should get a language Hindi - India', done => { - makeLocale('hi-in') - .fetch() - .then((locale) => { - expect(locale.code).to.be.equal('hi-in') - expect(locale.name).to.be.equal('Hindi - India') - expect(locale.fallback_locale).to.be.equal('en-us') - expect(locale.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get and update a language Hindi - India', done => { - makeLocale('hi-in') - .fetch() - .then((locale) => { - locale.fallback_locale = 'en-at' - return locale.update() - }) - .then((locale) => { - expect(locale.code).to.be.equal('hi-in') - expect(locale.name).to.be.equal('Hindi - India') - expect(locale.fallback_locale).to.be.equal('en-at') - expect(locale.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should delete language: Hindi - India', done => { - makeLocale('mr-in') - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Language removed successfully.') - done() - }) - .catch(done) - }) -}) - -function makeLocale (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).locale(uid) -} diff --git a/test/sanity-check/api/managementToken-test.js b/test/sanity-check/api/managementToken-test.js deleted file mode 100644 index b676b195..00000000 --- a/test/sanity-check/api/managementToken-test.js +++ /dev/null @@ -1,146 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { createManagementToken, createManagementToken2 } from '../mock/managementToken.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -let client = {} - -let tokenUidProd = '' -let tokenUidDev = '' -describe('Management Token api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should add a Management Token', done => { - makeManagementToken() - .create(createManagementToken) - .then((token) => { - tokenUidDev = token.uid - expect(token.name).to.be.equal(createManagementToken.token.name) - expect(token.description).to.be.equal(createManagementToken.token.description) - expect(token.scope[0].module).to.be.equal(createManagementToken.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should add a Management Token for production', done => { - makeManagementToken() - .create(createManagementToken2) - .then((token) => { - tokenUidProd = token.uid - expect(token.name).to.be.equal(createManagementToken2.token.name) - expect(token.description).to.be.equal(createManagementToken2.token.description) - expect(token.scope[0].module).to.be.equal(createManagementToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get a Management Token from uid', done => { - makeManagementToken(tokenUidProd) - .fetch() - .then((token) => { - expect(token.name).to.be.equal(createManagementToken2.token.name) - expect(token.description).to.be.equal(createManagementToken2.token.description) - expect(token.scope[0].module).to.be.equal(createManagementToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should query to get all Management Token', done => { - makeManagementToken() - .query() - .find() - .then((tokens) => { - tokens.items.forEach((token) => { - expect(token.name).to.be.not.equal(null) - expect(token.description).to.be.not.equal(null) - expect(token.scope[0].module).to.be.not.equal(null) - expect(token.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should query to get a Management Token from name', done => { - makeManagementToken() - .query({ query: { name: createManagementToken.token.name } }) - .find() - .then((tokens) => { - tokens.items.forEach((token) => { - expect(token.name).to.be.equal(createManagementToken.token.name) - expect(token.description).to.be.equal(createManagementToken.token.description) - expect(token.scope[0].module).to.be.equal(createManagementToken.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should fetch and update a Management Token from uid', done => { - makeManagementToken(tokenUidProd) - .fetch() - .then((token) => { - token.name = 'Update Production Name' - token.description = 'Update Production description' - token.scope = createManagementToken2.token.scope - return token.update() - }) - .then((token) => { - expect(token.name).to.be.equal('Update Production Name') - expect(token.description).to.be.equal('Update Production description') - expect(token.scope[0].module).to.be.equal(createManagementToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should update a Management Token from uid', done => { - const token = makeManagementToken(tokenUidProd) - Object.assign(token, createManagementToken2.token) - token.update() - .then((token) => { - expect(token.name).to.be.equal(createManagementToken2.token.name) - expect(token.description).to.be.equal(createManagementToken2.token.description) - expect(token.scope[0].module).to.be.equal(createManagementToken2.token.scope[0].module) - expect(token.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should delete a Management Token from uid', done => { - makeManagementToken(tokenUidProd) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Management Token deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete a Management Token from uid 2', done => { - makeManagementToken(tokenUidDev) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Management Token deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeManagementToken (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).managementToken(uid) -} diff --git a/test/sanity-check/api/oauth-test.js b/test/sanity-check/api/oauth-test.js deleted file mode 100644 index c06dc556..00000000 --- a/test/sanity-check/api/oauth-test.js +++ /dev/null @@ -1,144 +0,0 @@ -import { expect } from 'chai' -import { describe, it } from 'mocha' -import { contentstackClient } from '../../sanity-check/utility/ContentstackClient' -import axios from 'axios' -import dotenv from 'dotenv' - -dotenv.config() -let accessToken = '' -let loggedinUserID = '' -let authUrl = '' -let codeChallenge = '' -let codeChallengeMethod = '' -let authCode -let authtoken = '' -let redirectUrl = '' -let refreshToken = '' -const client = contentstackClient() -const oauthClient = client.oauth({ - clientId: process.env.CLIENT_ID, - appId: process.env.APP_ID, - redirectUri: process.env.REDIRECT_URI -}) - -describe('OAuth Authentication API Test', () => { - it('should login with credentials', done => { - client.login({ email: process.env.EMAIL, password: process.env.PASSWORD }, { include_orgs: true, include_orgs_roles: true, include_stack_roles: true, include_user_settings: true }).then((response) => { - expect(response.notice).to.be.equal('Login Successful.', 'Login success messsage does not match.') - done() - }) - .catch(done) - }) - - it('should get Current user info test', done => { - client.getUser().then((user) => { - authtoken = user.authtoken - done() - }) - .catch(done) - }) - - it('should fail when trying to login with invalid app credentials', () => { - try { - client.oauth({ - clientId: 'clientId', - appId: 'appId', - redirectUri: 'redirectUri' - }) - } catch (error) { - const jsonMessage = JSON.parse(error.message) - expect(jsonMessage.status).to.be.equal(401, 'Status code does not match for invalid credentials') - expect(jsonMessage.errorMessage).to.not.equal(null, 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(104, 'Error code does not match') - } - }) - - it('should generate OAuth authorization URL', async () => { - authUrl = await oauthClient.authorize() - const url = new URL(authUrl) - - codeChallenge = url.searchParams.get('code_challenge') - codeChallengeMethod = url.searchParams.get('code_challenge_method') - - // Ensure they are not empty strings - expect(codeChallenge).to.not.equal('') - expect(codeChallengeMethod).to.not.equal('') - expect(authUrl).to.include(process.env.CLIENT_ID, 'Client ID mismatch') - }) - - it('should simulate calling the authorization URL and receive authorization code', async () => { - try { - const authorizationEndpoint = oauthClient.axiosInstance.defaults.developerHubBaseUrl - axios.defaults.headers.common.authtoken = authtoken - axios.defaults.headers.common.organization_uid = process.env.ORGANIZATION - const response = await axios - .post(`${authorizationEndpoint}/manifests/${process.env.APP_ID}/authorize`, { - client_id: process.env.CLIENT_ID, - redirect_uri: process.env.REDIRECT_URI, - code_challenge: codeChallenge, - code_challenge_method: codeChallengeMethod, - response_type: 'code' - }) - const data = response.data - redirectUrl = data.data.redirect_url - const url = new URL(redirectUrl) - authCode = url.searchParams.get('code') - oauthClient.axiosInstance.oauth.appId = process.env.APP_ID - oauthClient.axiosInstance.oauth.clientId = process.env.CLIENT_ID - oauthClient.axiosInstance.oauth.redirectUri = process.env.REDIRECT_URI - // Ensure they are not empty strings - expect(redirectUrl).to.not.equal('') - expect(url).to.not.equal('') - } catch (error) { - console.log(error) - } - }) - - it('should exchange authorization code for access token', async () => { - const response = await oauthClient.exchangeCodeForToken(authCode) - accessToken = response.access_token - loggedinUserID = response.user_uid - refreshToken = response.refresh_token - - expect(response.organization_uid).to.be.equal(process.env.ORGANIZATION, 'Organization mismatch') - // eslint-disable-next-line no-unused-expressions - expect(response.access_token).to.not.be.null - // eslint-disable-next-line no-unused-expressions - expect(response.refresh_token).to.not.be.null - }) - - it('should get the logged-in user info using the access token', async () => { - const user = await client.getUser({ - authorization: `Bearer ${accessToken}` - }) - expect(user.uid).to.be.equal(loggedinUserID) - expect(user.email).to.be.equal(process.env.EMAIL, 'Email mismatch') - }) - - it('should refresh the access token using refresh token', async () => { - const response = await oauthClient.refreshAccessToken(refreshToken) - - accessToken = response.access_token - refreshToken = response.refresh_token - // eslint-disable-next-line no-unused-expressions - expect(response.access_token).to.not.be.null - // eslint-disable-next-line no-unused-expressions - expect(response.refresh_token).to.not.be.null - }) - - it('should logout successfully after OAuth authentication', async () => { - const response = await oauthClient.logout() - expect(response).to.be.equal('Logged out successfully') - }) - - it('should fail to make an API request with an expired token', async () => { - try { - await client.getUser({ - authorization: `Bearer ${accessToken}` - }) - } catch (error) { - expect(error.status).to.be.equal(401, 'API request should fail with status 401') - expect(error.errorMessage).to.be.equal('The provided access token is invalid or expired or revoked', 'Error message mismatch') - } - }) -}) diff --git a/test/sanity-check/api/organization-test.js b/test/sanity-check/api/organization-test.js deleted file mode 100644 index eecb2034..00000000 --- a/test/sanity-check/api/organization-test.js +++ /dev/null @@ -1,105 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader, jsonWrite } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient' - -var user = {} -var client = {} -const organizationUID = process.env.ORGANIZATION - -describe('Organization api test', () => { - setup(() => { - user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should fetch all organizations', done => { - client.organization().fetchAll() - .then((response) => { - for (const index in response.items) { - const organizations = response.items[index] - expect(organizations.name).to.not.equal(null, 'Organization name cannot be null') - expect(organizations.uid).to.not.equal(null, 'Organization uid cannot be null') - } - done() - }) - .catch(done) - }) - - it('should get Current user info test', done => { - client.getUser({ include_orgs: true, include_orgs_roles: true, include_stack_roles: true, include_user_settings: true }).then((user) => { - for (const index in user.organizations) { - const organizations = user.organizations[index] - if (organizations.org_roles && (organizations.org_roles.filter(function (role) { return role.admin === true }).length > 0)) { - break - } - } - done() - }) - .catch(done) - }) - - it('should fetch organization', done => { - client.organization(organizationUID).fetch() - .then((organizations) => { - expect(organizations.name).not.to.be.equal(null, 'Organization does not exist') - done() - }) - .catch(done) - }) - - it('should get all stacks in an Organization', done => { - client.organization(organizationUID).stacks() - .then((response) => { - for (const index in response.items) { - const stack = response.items[index] - expect(stack.name).to.not.equal(null, 'Organization name cannot be null') - expect(stack.uid).to.not.equal(null, 'Organization uid cannot be null') - } - done() - }) - .catch(done) - }) - - // it('should transfer Organization Ownership', done => { - // organization.transferOwnership('em@em.com') - // .then((data) => { - // expect(data.notice).to.be.equal('Email has been successfully sent to the user.', 'Message does not match') - // done() - // }) - // .catch((error) => { - // console.log(error) - // expect(error).to.be.equal(null, 'Failed Transfer Organization Ownership') - // done() - // }) - // }) - - it('should get all roles in an organization', done => { - client.organization(organizationUID).roles() - .then((roles) => { - for (const i in roles.items) { - jsonWrite(roles.items, 'orgRoles.json') - expect(roles.items[i].uid).to.not.equal(null, 'Role uid cannot be null') - expect(roles.items[i].name).to.not.equal(null, 'Role name cannot be null') - expect(roles.items[i].org_uid).to.be.equal(organizationUID, 'Role org_uid not match') - } - done() - }) - .catch(done) - }) - - it('should get all invitations in an organization', done => { - client.organization(organizationUID).getInvitations({ include_count: true }) - .then((response) => { - expect(response.count).to.not.equal(null, 'Failed Transfer Organization Ownership') - for (const i in response.items) { - expect(response.items[i].uid).to.not.equal(null, 'User uid cannot be null') - expect(response.items[i].email).to.not.equal(null, 'User name cannot be null') - expect(response.items[i].user_uid).to.not.equal(null, 'User name cannot be null') - expect(response.items[i].org_uid).to.not.equal(null, 'User name cannot be null') - } - done() - }) - .catch(done) - }) -}) diff --git a/test/sanity-check/api/release-test.js b/test/sanity-check/api/release-test.js deleted file mode 100644 index 1abea55f..00000000 --- a/test/sanity-check/api/release-test.js +++ /dev/null @@ -1,483 +0,0 @@ -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { releaseCreate, releaseCreate2 } from '../mock/release.js' -import { expect } from 'chai' -import { cloneDeep } from 'lodash' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { multiPageCT } from '../mock/content-type.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} -let releaseUID = '' -let releaseUID2 = '' -let releaseUID3 = '' -let releaseUID4 = '' -let entries = {} -const itemToDelete = {} -let jobId = '' - -describe('Relases api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - entries = jsonReader('entry.json') - client = contentstackClient(user.authtoken) - }) - - it('should create a Release', (done) => { - makeRelease() - .create(releaseCreate) - .then((release) => { - releaseUID = release.uid - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should create a Release 2', (done) => { - makeRelease() - .create(releaseCreate2) - .then((release) => { - releaseUID2 = release.uid - expect(release.name).to.be.equal(releaseCreate2.release.name) - expect(release.description).to.be.equal( - releaseCreate2.release.description - ) - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should fetch a Release from Uid', (done) => { - makeRelease(releaseUID) - .fetch() - .then((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.equal(releaseUID) - done() - }) - .catch(done) - }) - - it('should create release item', (done) => { - const item = { - version: entries[0]._version, - uid: entries[0].uid, - content_type_uid: multiPageCT.content_type.uid, - action: 'publish', - locale: 'en-us' - } - makeRelease(releaseUID) - .item() - .create({ item }) - .then((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.equal(releaseUID) - expect(release.items.length).to.be.equal(1) - done() - }) - .catch(done) - }) - - it('should create release items', (done) => { - const items = [ - { - version: entries[1]._version, - uid: entries[1].uid, - content_type_uid: multiPageCT.content_type.uid, - action: 'publish', - locale: 'en-us' - }, - { - version: entries[2]._version, - uid: entries[2].uid, - content_type_uid: multiPageCT.content_type.uid, - action: 'publish', - locale: 'en-us' - } - ] - makeRelease(releaseUID) - .item() - .create({ items }) - .then((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.equal(releaseUID) - expect(release.items.length).to.be.equal(3) - done() - }) - .catch(done) - }) - - it('should fetch a Release items from Uid', (done) => { - makeRelease(releaseUID) - .item() - .findAll({ release_version: '2.0' }) - .then((collection) => { - const itemdelete = collection.items[0] - itemToDelete['version'] = itemdelete.version - itemToDelete.action = itemdelete.action - itemToDelete.uid = itemdelete.uid - itemToDelete.locale = itemdelete.locale - itemToDelete.content_type_uid = itemdelete.content_type_uid - expect(collection.items.length).to.be.equal(3) - done() - }) - .catch(done) - }) - - it('should move release items from release1 to release2', (done) => { - const data = { - release_uid: releaseUID2, - items: [ - { - uid: entries[1].uid, - locale: 'en-us' - } - ] - } - makeRelease(releaseUID) - .item() - .move({ param: data, release_version: '2.0' }) - .then((release) => { - expect(release.notice).to.contain('successful') - done() - }) - .catch(done) - }) - - it('should delete specific item', (done) => { - makeRelease(releaseUID) - .item() - .delete({ items: [itemToDelete] }) - .then((release) => { - expect(release.notice).to.be.equal('Item(s) send to remove from release successfully.') - done() - }) - .catch(done) - }) - - it('should delete all items', (done) => { - makeRelease(releaseUID) - .item() - .delete({ release_version: '2.0' }) - .then((release) => { - expect(release.notice).to.contain('successful') - done() - }) - .catch(done) - }) - - it('should fetch and Update a Release from Uid', (done) => { - makeRelease(releaseUID) - .fetch() - .then((release) => { - release.name = 'Update release name' - return release.update() - }) - .then((release) => { - expect(release.name).to.be.equal('Update release name') - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should update a Release from Uid', (done) => { - const relaseObject = makeRelease(releaseUID) - Object.assign(relaseObject, cloneDeep(releaseCreate.release)) - relaseObject - .update() - .then((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get all Releases', (done) => { - makeRelease() - .query() - .find() - .then((releaseCollection) => { - releaseCollection.items.forEach((release) => { - expect(release.name).to.be.not.equal(null) - expect(release.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should get specific Releases with name ', (done) => { - makeRelease() - .query({ query: { name: releaseCreate.release.name } }) - .find() - .then((releaseCollection) => { - releaseCollection.items.forEach((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should clone specific Releases with Uid ', (done) => { - makeRelease(releaseUID) - .clone({ name: 'New Clone Name', description: 'New Desc' }) - .then((release) => { - releaseUID3 = release.uid - expect(release.name).to.be.equal('New Clone Name') - expect(release.description).to.be.equal('New Desc') - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Bulk Operation: should add items to a release', (done) => { - const items = { - release: releaseUID, - action: 'publish', - locale: ['en-us'], - reference: true, - items: [ - { - version: entries[1]._version, - uid: entries[1].uid, - content_type_uid: multiPageCT.content_type.uid, - locale: 'en-us', - title: entries[1].title - }, - { - version: entries[2]._version, - uid: entries[2].uid, - content_type_uid: multiPageCT.content_type.uid, - locale: 'en-us', - title: entries[2].title - } - ] - } - doBulkOperation() - .addItems({ data: items, bulk_version: '2.0' }) - .then((response) => { - jobId = response.job_id - expect(response.notice).to.equal( - 'Your add to release request is in progress.' - ) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('Bulk Operation: should fetch job status details', (done) => { - doBulkOperation() - .jobStatus({ job_id: jobId, bulk_version: '2.0' }) - .then((response) => { - expect(response.job).to.not.equal(undefined) - expect(response.job._id).to.equal(jobId) - done() - }) - .catch(done) - }) - - it('Bulk Operation: should update items to a release', (done) => { - const items = { - release: releaseUID, - action: 'publish', - locale: ['en-us'], - reference: true, - items: ['$all'] - } - doBulkOperation() - .updateItems({ data: items, bulk_version: '2.0' }) - .then((response) => { - expect(response.notice).to.equal( - 'Your update release items to latest version request is in progress.' - ) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should delete specific Releases with Uid ', (done) => { - makeRelease(releaseUID) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Release deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete specific Releases with Uid 2', (done) => { - makeRelease(releaseUID2) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Release deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete cloned Release with Uid', (done) => { - makeRelease(releaseUID3) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Release deleted successfully.') - done() - }) - .catch(done) - }) - - it('should create a Release v2', (done) => { - makeRelease() - .create(releaseCreate) - .then((release) => { - releaseUID4 = release.uid - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should create release item fo v2', (done) => { - const item = { - version: entries[0]._version, - uid: entries[0].uid, - content_type_uid: multiPageCT.content_type.uid, - action: 'publish', - locale: 'en-us', - title: entries[0].title - } - makeRelease(releaseUID4) - .item() - .create({ item, release_version: '2.0' }) - .then((release) => { - expect(release.name).to.be.equal(releaseCreate.release.name) - expect(release.description).to.be.equal( - releaseCreate.release.description - ) - expect(release.uid).to.be.equal(releaseUID4) - done() - }) - .catch(done) - }) - - it('should delete specific item for v2', (done) => { - makeRelease(releaseUID4) - .item() - .delete({ - item: { uid: entries[0].uid, locale: 'en-us' }, - release_version: '2.0' - }) - .then((release) => { - expect(release.notice).to.contain('successful') - done() - }) - .catch(done) - }) - - it('Bulk Operation: should add items to a release 2', (done) => { - const items = { - release: releaseUID4, - action: 'publish', - locale: ['en-us'], - reference: true, - items: [ - { - version: entries[1]._version, - uid: entries[1].uid, - content_type_uid: multiPageCT.content_type.uid, - locale: 'en-us', - title: entries[1].title - }, - { - version: entries[2]._version, - uid: entries[2].uid, - content_type_uid: multiPageCT.content_type.uid, - locale: 'en-us', - title: entries[2].title - } - ] - } - doBulkOperation() - .addItems({ data: items, bulk_version: '2.0' }) - .then((response) => { - expect(response.notice).to.equal( - 'Your add to release request is in progress.' - ) - expect(response.job_id).to.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should delete specific items for v2', (done) => { - makeRelease(releaseUID4) - .item() - .delete({ - items: [ - { uid: entries[1].uid, - locale: 'en-us' - }, - { - uid: entries[2].uid, - locale: 'en-us' - } - ], - release_version: '2.0' - }) - .then((release) => { - expect(release.notice).to.contain('successful') - done() - }) - .catch(done) - }) - - it('should delete specific Releases with Uid ', (done) => { - makeRelease(releaseUID4) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('Release deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeRelease (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).release(uid) -} - -function doBulkOperation (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).bulkOperation() -} diff --git a/test/sanity-check/api/role-test.js b/test/sanity-check/api/role-test.js deleted file mode 100644 index fac992d6..00000000 --- a/test/sanity-check/api/role-test.js +++ /dev/null @@ -1,174 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import role from '../mock/role.js' -import { jsonReader, jsonWrite } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} -let roleUID = '' - -describe('Role api test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should get all role in stack', done => { - getRole() - .fetchAll() - .then((roles) => { - jsonWrite(roles.items, 'roles.json') - for (const index in roles.items) { - const role1 = roles.items[index] - expect(role1.uid).to.not.equal(null, 'Role uid cannot be null') - } - done() - }) - .catch(done) - }) - - it('should get 1 role in stack with limit', done => { - getRole() - .fetchAll({ limit: 2 }) - .then((roles) => { - expect(roles.items.length).to.not.equal(1) - done() - }) - .catch(done) - }) - - it('should get role in stack with skip first', done => { - getRole() - .fetchAll({ skip: 1 }) - .then((roles) => { - expect(roles.items.lenth).to.not.equal(1, 'Role fetch with limit 1 not work') - done() - }) - .catch(done) - }) - - // it('should create taxonomy', async () => { - // await client.stack({ api_key: process.env.API_KEY }).taxonomy().create({ taxonomy }) - // }) - - // it('should create term', done => { - // makeTerms(taxonomy.uid).create(term) - // .then((response) => { - // expect(response.uid).to.be.equal(term.term.uid) - // done() - // }) - // .catch(done) - // }) - - it('should create new role in stack', done => { - getRole() - .create(role) - .then((roles) => { - roleUID = roles.uid - expect(roles.name).to.be.equal(role.role.name, 'Role name not match') - expect(roles.description).to.be.equal(role.role.description, 'Role description not match') - done() - }) - .catch(done) - }) - - it('should get role in stack', done => { - getRole(roleUID) - .fetch() - .then((roles) => { - jsonWrite(roles, 'role.json') - expect(roles.name).to.be.equal(role.role.name, 'Role name not match') - expect(roles.description).to.be.equal(role.role.description, 'Role description not match') - expect(roles.stack.api_key).to.be.equal(process.env.API_KEY, 'Role stack uid not match') - done() - }) - .catch(done) - }) - - it('should update role in stack', done => { - getRole(roleUID) - .fetch({ include_rules: true, include_permissions: true }) - .then((roles) => { - roles.name = 'Update test name' - roles.description = 'Update description' - return roles.update() - }) - .then((roles) => { - expect(roles.name).to.be.equal('Update test name', 'Role name not match') - expect(roles.description).to.be.equal('Update description', 'Role description not match') - done() - }) - .catch(done) - }) - - it('should get all Roles with query', done => { - getRole() - .query() - .find() - .then((response) => { - for (const index in response.items) { - const role = response.items[index] - expect(role.name).to.not.equal(null) - expect(role.uid).to.not.equal(null) - } - done() - }) - .catch(done) - }) - - it('should get query Role', done => { - getRole() - .query({ query: { name: 'Developer' } }) - .find() - .then((response) => { - for (const index in response.items) { - const stack = response.items[index] - expect(stack.name).to.be.equal('Developer') - } - done() - }) - .catch(done) - }) - - it('should find one role', done => { - getRole() - .query({ name: 'Developer' }) - .findOne() - .then((response) => { - const stack = response.items[0] - expect(response.items.length).to.be.equal(1) - expect(stack.name).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should delete role in stack', done => { - getRole(roleUID) - .delete() - .then((roles) => { - expect(roles.notice).to.be.equal('The role deleted successfully.') - done() - }) - .catch(done) - }) - // it('should delete of the term uid passed', done => { - // makeTerms(taxonomy.uid, term.term.uid).delete({ force: true }) - // .then((response) => { - // expect(response.status).to.be.equal(204) - // done() - // }) - // .catch(done) - // }) - - // it('should delete taxonomy', async () => { - // const taxonomyResponse = await client.stack({ api_key: process.env.API_KEY }).taxonomy(taxonomy.uid).delete({ force: true }) - // expect(taxonomyResponse.status).to.be.equal(204) - // }) -}) - -function getRole (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).role(uid) -} diff --git a/test/sanity-check/api/stack-share.js b/test/sanity-check/api/stack-share.js deleted file mode 100644 index d9554299..00000000 --- a/test/sanity-check/api/stack-share.js +++ /dev/null @@ -1,35 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -var client = {} - -describe('Stack Share/Unshare', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('should share stack test', done => { - const role = jsonReader('roles.json') - client.stack({ api_key: process.env.API_KEY }) - .share(['test@test.com'], { 'test@test.com': [role[0].uid] }) - .then((response) => { - expect(response.notice).to.be.equal('The invitation has been sent successfully.') - done() - }) - .catch(done) - }) - - it('should unshare stack test', done => { - client.stack({ api_key: process.env.API_KEY }) - .unShare('test@test.com') - .then((response) => { - expect(response.notice).to.be.equal('The stack has been successfully unshared.') - done() - }) - .catch(done) - }) -}) diff --git a/test/sanity-check/api/stack-test.js b/test/sanity-check/api/stack-test.js deleted file mode 100644 index 76082f43..00000000 --- a/test/sanity-check/api/stack-test.js +++ /dev/null @@ -1,169 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader, jsonWrite } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' - -import dotenv from 'dotenv' -dotenv.config() - -var orgID = process.env.ORGANIZATION -var user = {} -var client = {} - -var stacks = {} -describe('Stack api Test', () => { - setup(() => { - user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - const newStack = { - stack: - { - name: 'My New Stack', - description: 'My new test stack', - master_locale: 'en-us' - } - } - - it('should create Stack', done => { - client.stack() - .create(newStack, { organization_uid: orgID }) - .then((stack) => { - jsonWrite(stack, 'stack.json') - expect(stack.org_uid).to.be.equal(orgID) - expect(stack.api_key).to.not.equal(null) - expect(stack.name).to.be.equal(newStack.stack.name) - expect(stack.description).to.be.equal(newStack.stack.description) - done() - stacks = jsonReader('stack.json') - }) - .catch(done) - }) - - it('should fetch Stack details', done => { - client.stack({ api_key: stacks.api_key }) - .fetch() - .then((stack) => { - expect(stack.org_uid).to.be.equal(orgID) - expect(stack.api_key).to.not.equal(null) - expect(stack.name).to.be.equal(newStack.stack.name) - expect(stack.description).to.be.equal(newStack.stack.description) - done() - }) - .catch(done) - }) - - it('should update Stack details', done => { - const name = 'My New Stack Update Name' - const description = 'My New description stack' - client.stack({ api_key: stacks.api_key }) - .fetch().then((stack) => { - stack.name = name - stack.description = description - return stack.update() - }).then((stack) => { - expect(stack.name).to.be.equal(name) - expect(stack.description).to.be.equal(description) - done() - }) - .catch(done) - }) - - it('should get all users of stack', done => { - client.stack({ api_key: stacks.api_key }) - .users() - .then((response) => { - expect(response[0].uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get stack settings', done => { - client.stack({ api_key: stacks.api_key }) - .settings() - .then((response) => { - expect(response.stack_variable).to.be.equal(undefined, 'Stack variable must be blank') - expect(response.discrete_variables.access_token).to.not.equal(null, 'Stack variable must not be blank') - expect(response.discrete_variables.secret_key).to.not.equal(null, 'Stack variable must not be blank') - done() - }) - .catch(done) - }) - - it('should add stack settings', done => { - client.stack({ api_key: stacks.api_key }) - .addSettings({ samplevariable: 'too' }) - .then((response) => { - expect(response.stack_variables.samplevariable).to.be.equal('too', 'samplevariable must set to \'too\' ') - done() - }) - .catch(done) - }) - - it('should reset stack settings', done => { - client.stack({ api_key: stacks.api_key }) - .resetSettings() - .then((response) => { - expect(response.stack_variable).to.be.equal(undefined, 'Stack variable must be blank') - expect(response.discrete_variables.access_token).to.not.equal(null, 'Stack variable must not be blank') - expect(response.discrete_variables.secret_key).to.not.equal(null, 'Stack variable must not be blank') - done() - }) - .catch(done) - }) - - it('should get all stack', done => { - client.stack() - .query() - .find() - .then((response) => { - for (const index in response.items) { - const stack = response.items[index] - expect(stack.name).to.not.equal(null) - expect(stack.uid).to.not.equal(null) - expect(stack.owner_uid).to.not.equal(null) - } - done() - }) - .catch(done) - }) - - it('should get query stack', done => { - client.stack() - .query({ query: { name: 'My New Stack Update Name' } }) - .find() - .then((response) => { - expect(response.items.length).to.be.equal(1) - for (const index in response.items) { - const stack = response.items[index] - expect(stack.name).to.be.equal('My New Stack Update Name') - } - done() - }) - .catch(done) - }) - - it('should find one stack', done => { - client.stack() - .query({ query: { name: 'My New Stack Update Name' } }) - .findOne() - .then((response) => { - const stack = response.items[0] - expect(response.items.length).to.be.equal(1) - expect(stack.name).to.be.equal('My New Stack Update Name') - done() - }) - .catch(done) - }) - - it('should delete stack', done => { - client.stack({ api_key: stacks.api_key }) - .delete() - .then((stack) => { - expect(stack.notice).to.be.equal('Stack deleted successfully!') - done() - }) - .catch(done) - }) -}) diff --git a/test/sanity-check/api/taxonomy-test.js b/test/sanity-check/api/taxonomy-test.js deleted file mode 100644 index 4ce676a0..00000000 --- a/test/sanity-check/api/taxonomy-test.js +++ /dev/null @@ -1,86 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -const taxonomy = { - uid: 'taxonomy_testing', - name: 'taxonomy testing', - description: 'Description for Taxonomy testing' -} - -var taxonomyUID = '' - -describe('taxonomy api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create taxonomy', done => { - makeTaxonomy() - .create({ taxonomy }) - .then((taxonomyResponse) => { - taxonomyUID = taxonomyResponse.uid - expect(taxonomyResponse.name).to.be.equal(taxonomy.name) - setTimeout(() => { - done() - }, 10000) - }) - .catch(done) - }) - - it('should fetch taxonomy of the uid passed', done => { - makeTaxonomy(taxonomyUID) - .fetch() - .then((taxonomyResponse) => { - expect(taxonomyResponse.uid).to.be.equal(taxonomyUID) - expect(taxonomyResponse.name).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should update taxonomy of the uid passed', done => { - makeTaxonomy(taxonomyUID) - .fetch() - .then((taxonomyResponse) => { - taxonomyResponse.name = 'Updated Name' - return taxonomyResponse.update() - }) - .then((taxonomyResponse) => { - expect(taxonomyResponse.uid).to.be.equal(taxonomyUID) - expect(taxonomyResponse.name).to.be.equal('Updated Name') - done() - }) - .catch(done) - }) - - it('should get all taxonomies', async () => { - makeTaxonomy() - .query() - .find() - .then((response) => { - response.items.forEach((taxonomyResponse) => { - expect(taxonomyResponse.uid).to.be.not.equal(null) - expect(taxonomyResponse.name).to.be.not.equal(null) - }) - }) - }) - - it('should delete taxonomy from uid', done => { - makeTaxonomy(taxonomyUID) - .delete() - .then((taxonomyResponse) => { - expect(taxonomyResponse.status).to.be.equal(204) - done() - }) - .catch(done) - }) -}) - -function makeTaxonomy (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).taxonomy(uid) -} diff --git a/test/sanity-check/api/team-test.js b/test/sanity-check/api/team-test.js deleted file mode 100644 index 2ba28293..00000000 --- a/test/sanity-check/api/team-test.js +++ /dev/null @@ -1,207 +0,0 @@ -import { describe, it, beforeEach } from 'mocha' -import { expect } from 'chai' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -const organizationUid = process.env.ORGANIZATION -const stackApiKey = process.env.API_KEY -let userId = '' -let teamUid1 = '' -let teamUid2 = '' -let orgAdminRole = '' -let adminRole = '' -let contentManagerRole = '' -let developerRole = '' - -describe('Teams API Test', () => { - beforeEach(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - const orgRoles = jsonReader('orgRoles.json') - orgAdminRole = orgRoles.find(role => role.name === 'admin').uid - }) - - it('should create new team 1 when required object is passed', async () => { - const response = await makeTeams().create({ - name: 'test_team1', - users: [], - stackRoleMapping: [], - organizationRole: orgAdminRole }) - teamUid1 = response.uid - expect(response.uid).not.to.be.equal(null) - expect(response.name).not.to.be.equal(null) - expect(response.stackRoleMapping).not.to.be.equal(null) - expect(response.organizationRole).not.to.be.equal(null) - }) - - it('should create new team 2 when required object is passed', async () => { - const response = await makeTeams().create({ - name: 'test_team2', - users: [], - stackRoleMapping: [], - organizationRole: orgAdminRole }) - teamUid2 = response.uid - expect(response.uid).not.to.be.equal(null) - expect(response.name).not.to.be.equal(null) - expect(response.stackRoleMapping).not.to.be.equal(null) - expect(response.organizationRole).not.to.be.equal(null) - }) - - it('should get all the teams when correct organization uid is passed', async () => { - const response = await makeTeams().fetchAll() - expect(response.items[0].organizationUid).to.be.equal(organizationUid) - expect(response.items[0].name).not.to.be.equal(null) - expect(response.items[0].created_by).not.to.be.equal(null) - expect(response.items[0].updated_by).not.to.be.equal(null) - }) - - it('should fetch the team when team uid is passed', async () => { - const response = await makeTeams(teamUid1).fetch() - expect(response.uid).to.be.equal(teamUid1) - expect(response.organizationUid).to.be.equal(organizationUid) - expect(response.name).not.to.be.equal(null) - expect(response.created_by).not.to.be.equal(null) - expect(response.updated_by).not.to.be.equal(null) - }) - - it('should update team when updating data is passed', async () => { - const updateData = { - name: 'name', - users: [ - { - email: process.env.EMAIL - } - ], - organizationRole: '', - stackRoleMapping: [] - } - await makeTeams(teamUid1).update(updateData) - .then((team) => { - expect(team.name).to.be.equal(updateData.name) - expect(team.createdByUserName).not.to.be.equal(undefined) - expect(team.updatedByUserName).not.to.be.equal(undefined) - }) - }) - - it('should delete team 1 when team uid is passed', async () => { - const response = await makeTeams(teamUid1).delete() - expect(response.status).to.be.equal(204) - }) -}) - -describe('Teams Stack Role Mapping API Test', () => { - beforeEach(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - const stackRoles = jsonReader('roles.json') - adminRole = stackRoles.find(role => role.name === 'Admin').uid - contentManagerRole = stackRoles.find(role => role.name === 'Content Manager').uid - developerRole = stackRoles.find(role => role.name === 'Developer').uid - }) - - it('should add roles', done => { - const stackRoleMappings = { - stackApiKey: stackApiKey, - roles: [ - adminRole - ] - } - makestackRoleMappings(teamUid2).add(stackRoleMappings).then((response) => { - expect(response.stackRoleMapping).not.to.be.equal(undefined) - expect(response.stackRoleMapping.roles[0]).to.be.equal(stackRoleMappings.roles[0]) - expect(response.stackRoleMapping.stackApiKey).to.be.equal(stackRoleMappings.stackApiKey) - done() - }) - .catch(done) - }) - - it('should fetch all stackRoleMappings', done => { - makestackRoleMappings(teamUid2).fetchAll().then((response) => { - expect(response.stackRoleMappings).to.be.not.equal(undefined) - done() - }) - .catch(done) - }) - - it('should update roles', done => { - const stackRoleMappings = { - roles: [ - adminRole, - contentManagerRole, - developerRole - ] - } - makestackRoleMappings(teamUid2, stackApiKey).update(stackRoleMappings).then((response) => { - expect(response.stackRoleMapping).not.to.be.equal(undefined) - expect(response.stackRoleMapping.roles[0]).to.be.equal(stackRoleMappings.roles[0]) - expect(response.stackRoleMapping.stackApiKey).to.be.equal(stackApiKey) - done() - }) - .catch(done) - }) - - it('should delete roles', done => { - makestackRoleMappings(teamUid2, stackApiKey).delete().then((response) => { - expect(response.status).to.be.equal(204) - done() - }) - .catch(done) - }) -}) - -describe('Teams Users API Test', () => { - beforeEach(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('should add the user when user\'s mail is passed', done => { - const usersMail = { - emails: ['email1@email.com'] - } - makeUsers(teamUid2).add(usersMail).then((response) => { - expect(response.status).to.be.equal(201) - done() - }) - .catch(done) - }) - - it('should fetch all users', done => { - makeUsers(teamUid2).fetchAll().then((response) => { - response.items.forEach((user) => { - userId = response.items[0].userId - expect(user.userId).to.be.not.equal(null) - done() - }) - }) - .catch(done) - }) - - it('should remove the user when uid is passed', done => { - makeUsers(teamUid2, userId).remove().then((response) => { - expect(response.status).to.be.equal(204) - done() - }) - .catch(done) - }) - - it('should delete team 2 when team uid is passed', async () => { - const response = await makeTeams(teamUid2).delete() - expect(response.status).to.be.equal(204) - }) -}) - -function makeTeams (teamUid = null) { - return client.organization(organizationUid).teams(teamUid) -} - -function makestackRoleMappings (teamUid, stackApiKey = null) { - return client.organization(organizationUid).teams(teamUid).stackRoleMappings(stackApiKey) -} - -function makeUsers (teamUid, userId = null) { - return client.organization(organizationUid).teams(teamUid).teamUsers(userId) -} diff --git a/test/sanity-check/api/terms-test.js b/test/sanity-check/api/terms-test.js deleted file mode 100644 index 871f870e..00000000 --- a/test/sanity-check/api/terms-test.js +++ /dev/null @@ -1,188 +0,0 @@ -import { describe, it, beforeEach } from 'mocha' -import { expect } from 'chai' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { stageBranch } from '../mock/branch.js' - -var client = {} - -const taxonomy = { - uid: 'taxonomy_testing', - name: 'taxonomy testing', - description: 'Description for Taxonomy testing' -} -const termString = 'term' -const term = { - term: { - uid: 'term_test', - name: 'Term test', - parent_uid: null - } -} -const childTerm1 = { - term: { - uid: 'term_test_child1', - name: 'Term test1', - parent_uid: 'term_test' - } -} -const childTerm2 = { - term: { - uid: 'term_test_child2', - name: 'Term test2', - parent_uid: 'term_test_child1' - } -} -var termUid = term.term.uid - -describe('Terms API Test', () => { - beforeEach(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('should create taxonomy', async () => { - await client.stack({ api_key: process.env.API_KEY }).taxonomy().create({ taxonomy }) - }, 10000) - - it('should create term', async () => { - const response = await makeTerms(taxonomy.uid).create(term) - expect(response.uid).to.be.equal(term.term.uid) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) - - it('should create child term 1', async () => { - const response = await makeTerms(taxonomy.uid).create(childTerm1) - expect(response.uid).to.be.equal(childTerm1.term.uid) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) - - it('should create child term 2', async () => { - const response = await makeTerms(taxonomy.uid).create(childTerm2) - expect(response.uid).to.be.equal(childTerm2.term.uid) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) - - it('should query and get all terms', done => { - makeTerms(taxonomy.uid).query().find() - .then((response) => { - expect(response.items).to.be.an('array') - expect(response.items[0].uid).not.to.be.equal(null) - expect(response.items[0].name).not.to.be.equal(null) - done() - }) - .catch(done) - }) - - it('should fetch term of the term uid passed', done => { - makeTerms(taxonomy.uid, term.term.uid).fetch() - .then((response) => { - expect(response.uid).to.be.equal(termUid) - expect(response.name).not.to.be.equal(null) - expect(response.created_by).not.to.be.equal(null) - expect(response.updated_by).not.to.be.equal(null) - done() - }) - .catch(done) - }) - - it('should update term of the term uid passed', done => { - makeTerms(taxonomy.uid, termUid).fetch() - .then((term) => { - term.name = 'update name' - return term.update() - }) - .then((response) => { - expect(response.uid).to.be.equal(termUid) - expect(response.name).to.be.equal('update name') - expect(response.created_by).not.to.be.equal(null) - expect(response.updated_by).not.to.be.equal(null) - done() - }) - .catch(done) - }) - - it('should get the ancestors of the term uid passed', done => { - makeTerms(taxonomy.uid, childTerm1.term.uid).ancestors() - .then((response) => { - expect(response.terms[0].uid).not.to.be.equal(null) - expect(response.terms[0].name).not.to.be.equal(null) - expect(response.terms[0].created_by).not.to.be.equal(null) - expect(response.terms[0].updated_by).not.to.be.equal(null) - done() - }) - .catch(done) - }) - - it('should get the descendants of the term uid passed', done => { - makeTerms(taxonomy.uid, childTerm1.term.uid).descendants() - .then((response) => { - expect(response.terms.uid).not.to.be.equal(null) - expect(response.terms.name).not.to.be.equal(null) - expect(response.terms.created_by).not.to.be.equal(null) - expect(response.terms.updated_by).not.to.be.equal(null) - done() - }) - .catch(done) - }) - - it('should search the term with the string passed', done => { - makeTerms(taxonomy.uid).search(termString) - .then((response) => { - expect(response.terms).to.be.an('array') - done() - }) - .catch(done) - }) - - it('should move the term to parent uid passed', done => { - makeTerms(taxonomy.uid, childTerm2.term.uid).fetch() - .then(async (term) => { - term.parent_uid = null - const moveTerm = await term.move({ force: true }) - expect(moveTerm.parent_uid).to.be.equal(null) - done() - return moveTerm - }) - .catch(done) - }) - - it('should delete of the term uid passed', done => { - makeTerms(taxonomy.uid, term.term.uid).delete({ force: true }) - .then((response) => { - expect(response.status).to.be.equal(204) - done() - }) - .catch(done) - }) - - it('should delete taxonomy', async () => { - const taxonomyResponse = await client.stack({ api_key: process.env.API_KEY }).taxonomy(taxonomy.uid).delete({ force: true }) - expect(taxonomyResponse.status).to.be.equal(204) - }) -}) - -function makeTerms (taxonomyUid, termUid = null) { - return client.stack({ api_key: process.env.API_KEY }).taxonomy(taxonomyUid).terms(termUid) -} - -describe('Branch creation api Test', () => { - beforeEach(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create staging branch', async () => { - const response = await makeBranch().create({ branch: stageBranch }) - expect(response.uid).to.be.equal(stageBranch.uid) - expect(response.urlPath).to.be.equal(`/stacks/branches/${stageBranch.uid}`) - expect(response.source).to.be.equal(stageBranch.source) - expect(response.alias).to.not.equal(undefined) - expect(response.fetch).to.not.equal(undefined) - expect(response.delete).to.not.equal(undefined) - await new Promise(resolve => setTimeout(resolve, 15000)) - }) -}) - -function makeBranch (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).branch(uid) -} diff --git a/test/sanity-check/api/ungroupedVariants-test.js b/test/sanity-check/api/ungroupedVariants-test.js deleted file mode 100644 index ac2fbf11..00000000 --- a/test/sanity-check/api/ungroupedVariants-test.js +++ /dev/null @@ -1,97 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -const variants = { - uid: 'iphone_color_white', // optional - name: 'White', - personalize_metadata: { - experience_uid: 'exp1', - experience_short_uid: 'expShortUid1', - project_uid: 'project_uid1', - variant_short_uid: 'variantShort_uid1' - } -} -var variantsUID = '' -describe('Ungrouped Variants api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - it('Should create ungrouped variants create', done => { - makeVariants() - .create(variants) - .then((variantsResponse) => { - variantsUID = variantsResponse.uid - expect(variantsResponse.uid).to.be.not.equal(null) - expect(variantsResponse.name).to.be.equal(variants.name) - done() - }) - .catch(done) - }) - - it('Should Query to get all ungrouped variants by name', done => { - makeVariants() - .query({ query: { name: variants.name } }) - .find() - .then((response) => { - response.items.forEach((variantsResponse) => { - variantsUID = variantsResponse.uid - expect(variantsResponse.uid).to.be.not.equal(null) - expect(variantsResponse.name).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Should fetch ungrouped variants from uid', done => { - makeVariants(variantsUID) - .fetch() - .then((variantsResponse) => { - expect(variantsResponse.name).to.be.equal(variants.name) - done() - }) - .catch(done) - }) - it('Should fetch variants from array of uids', done => { - makeVariants() - .fetchByUIDs([variantsUID]) - .then((variantsResponse) => { - expect(variantsResponse.variants.length).to.be.equal(1) - done() - }) - .catch(done) - }) - - it('Should Query to get all ungrouped variants', done => { - makeVariants() - .query() - .find() - .then((response) => { - response.items.forEach((variantsResponse) => { - expect(variantsResponse.uid).to.be.not.equal(null) - expect(variantsResponse.name).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Should delete ungrouped variants from uid', done => { - makeVariants(variantsUID) - .delete() - .then((data) => { - expect(data.message).to.be.equal('Variant deleted successfully') - done() - }) - .catch(done) - }) -}) - -function makeVariants (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).variants(uid) -} diff --git a/test/sanity-check/api/user-test.js b/test/sanity-check/api/user-test.js deleted file mode 100644 index 838828cf..00000000 --- a/test/sanity-check/api/user-test.js +++ /dev/null @@ -1,77 +0,0 @@ -import { expect } from 'chai' -import { describe, it } from 'mocha' -import { contentstackClient } from '../../sanity-check/utility/ContentstackClient' -import { jsonWrite } from '../../sanity-check/utility/fileOperations/readwrite' -import axios from 'axios' -import dotenv from 'dotenv' - -dotenv.config() -var authtoken = '' -var loggedinUserID = '' -var client = contentstackClient() -describe('Contentstack User Session api Test', () => { - it('should check user login with wrong credentials', done => { - contentstackClient().login({ email: process.env.EMAIL, password: process.env.PASSWORD }) - .then((response) => { - done() - }).catch((error) => { - const jsonMessage = JSON.parse(error.message) - const payload = JSON.parse(jsonMessage.request.data) - expect(jsonMessage.status).to.be.equal(422, 'Status code does not match') - expect(jsonMessage.errorMessage).to.not.equal(null, 'Error message not proper') - expect(jsonMessage.errorCode).to.be.equal(104, 'Error code does not match') - expect(payload.user.email).to.be.equal(process.env.EMAIL, 'Email id does not match') - expect(payload.user.password).to.be.equal('contentstack', 'Password does not match') - done() - }) - }) - - it('should Login user', done => { - client.login({ email: process.env.EMAIL, password: process.env.PASSWORD }, { include_orgs: true, include_orgs_roles: true, include_stack_roles: true, include_user_settings: true }).then((response) => { - jsonWrite(response.user, 'loggedinuser.json') - expect(response.notice).to.be.equal('Login Successful.', 'Login success messsage does not match.') - done() - }) - .catch(done) - }) - - it('should logout user', done => { - client.logout() - .then((response) => { - expect(axios.defaults.headers.common.authtoken).to.be.equal(undefined) - expect(response.notice).to.be.equal('You\'ve logged out successfully.') - done() - }) - .catch(done) - }) - - it('should login with credentials', done => { - client.login({ email: process.env.EMAIL, password: process.env.PASSWORD }, { include_orgs: true, include_orgs_roles: true, include_stack_roles: true, include_user_settings: true }).then((response) => { - loggedinUserID = response.user.uid - jsonWrite(response.user, 'loggedinuser.json') - expect(response.notice).to.be.equal('Login Successful.', 'Login success messsage does not match.') - done() - }) - .catch(done) - }) - - it('should get Current user info test', done => { - client.getUser().then((user) => { - authtoken = user.authtoken - expect(user.uid).to.be.equal(loggedinUserID) - done() - }) - .catch(done) - }) - - it('should get user info from authtoken', done => { - contentstackClient(authtoken) - .getUser() - .then((user) => { - expect(user.uid).to.be.equal(loggedinUserID) - expect(true).to.be.equal(true) - done() - }) - .catch(done) - }) -}) diff --git a/test/sanity-check/api/variantGroup-test.js b/test/sanity-check/api/variantGroup-test.js deleted file mode 100644 index 4ad64ebf..00000000 --- a/test/sanity-check/api/variantGroup-test.js +++ /dev/null @@ -1,82 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { createVariantGroup } from '../mock/variantGroup.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -describe('Variant Group api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('Add a Variant Group', done => { - makeVariantGroup() - .create(createVariantGroup) - .then((variantGroup) => { - expect(variantGroup.name).to.be.equal(createVariantGroup.name) - expect(variantGroup.uid).to.be.equal(createVariantGroup.uid) - done() - }) - .catch(done) - }) - - it('Query to get all Variant Group', done => { - makeVariantGroup() - .query() - .find() - .then((variants) => { - variants.items.forEach((variantGroup) => { - expect(variantGroup.name).to.be.not.equal(null) - expect(variantGroup.description).to.be.not.equal(null) - expect(variantGroup.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Query to get a Variant Group from name', done => { - makeVariantGroup() - .query({ name: createVariantGroup.name }) - .find() - .then((tokens) => { - tokens.items.forEach((variantGroup) => { - expect(variantGroup.name).to.be.equal(createVariantGroup.name) - expect(variantGroup.description).to.be.equal(createVariantGroup.description) - expect(variantGroup.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Should update a Variant Group from uid', done => { - const updateData = { name: 'Update Production Name', description: 'Update Production description' } - makeVariantGroup('iphone_color_white') - .update(updateData) - .then((variantGroup) => { - expect(variantGroup.name).to.be.equal('Update Production Name') - expect(variantGroup.description).to.be.equal('Update Production description') - expect(variantGroup.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Delete a Variant Group from uid', done => { - makeVariantGroup('iphone_color_white') - .delete() - .then((data) => { - expect(data.message).to.be.equal('Variant Group and Variants deleted successfully') - done() - }) - .catch(done) - }) -}) - -function makeVariantGroup (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).variantGroup(uid) -} diff --git a/test/sanity-check/api/variants-test.js b/test/sanity-check/api/variants-test.js deleted file mode 100644 index 297de7ca..00000000 --- a/test/sanity-check/api/variants-test.js +++ /dev/null @@ -1,136 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite' -import { createVariantGroup } from '../mock/variantGroup.js' -import { variant } from '../mock/variants.js' -import { contentstackClient } from '../utility/ContentstackClient.js' - -var client = {} - -var variantUid = '' -let variantName = '' -var variantGroupUid = '' -describe('Variants api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create a Variant Group', done => { - makeVariantGroup() - .create(createVariantGroup) - .then((variantGroup) => { - expect(variantGroup.name).to.be.equal(createVariantGroup.name) - expect(variantGroup.uid).to.be.equal(createVariantGroup.uid) - done() - }) - .catch(done) - }) - - it('Query to get a Variant from name', done => { - makeVariantGroup() - .query({ name: createVariantGroup.name }) - .find() - .then((tokens) => { - tokens.items.forEach((variantGroup) => { - variantGroupUid = variantGroup.uid - expect(variantGroup.name).to.be.equal(createVariantGroup.name) - expect(variantGroup.description).to.be.equal(createVariantGroup.description) - expect(variantGroup.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should create a Variants', done => { - makeVariants() - .create(variant) - .then((variants) => { - expect(variants.name).to.be.equal(variant.name) - expect(variants.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Query to get all Variants', done => { - makeVariants() - .query() - .find() - .then((variants) => { - variants.items.forEach((variants) => { - variantUid = variants.uid - variantName = variants.name - expect(variantName).to.be.not.equal(null) - expect(variants.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('Get a Variants from uid', done => { - makeVariants(variantUid) - .fetch() - .then((variants) => { - expect(variants.name).to.be.equal(variant.name) - expect(variants.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Query to get a Variants from name', done => { - makeVariants() - .query({ query: { name: variant.name } }) - .find() - .then((tokens) => { - tokens.items.forEach((variants) => { - expect(variants.name).to.be.equal(variant.name) - expect(variants.uid).to.be.not.equal(null) - }) - done() - }) - .catch(done) - }) - - it('should update a Variants from uid', done => { - const updateData = { name: 'Update Production Name', description: 'Update Production description' } - makeVariants(variantUid).update(updateData) - .then((variants) => { - expect(variants.name).to.be.equal('Update Production Name') - expect(variants.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('Delete a Variant from uid', done => { - makeVariantGroup(variantGroupUid).variants(variantUid) - .delete() - .then((data) => { - expect(data.message).to.be.equal('Variant deleted successfully') - done() - }) - .catch(done) - }) - - it('Delete a Variant Group from uid', done => { - makeVariantGroup('iphone_color_white') - .delete() - .then((data) => { - expect(data.message).to.be.equal('Variant Group and Variants deleted successfully') - done() - }) - .catch(done) - }) -}) - -function makeVariants (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).variantGroup(variantGroupUid).variants(uid) -} - -function makeVariantGroup (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).variantGroup(uid) -} diff --git a/test/sanity-check/api/webhook-test.js b/test/sanity-check/api/webhook-test.js deleted file mode 100644 index 4186a5a1..00000000 --- a/test/sanity-check/api/webhook-test.js +++ /dev/null @@ -1,172 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import path from 'path' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { webhook, updateWebhook } from '../mock/webhook.js' -import { cloneDeep } from 'lodash' -import { contentstackClient } from '../utility/ContentstackClient.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -let webhookUid = '' -let webhookUid2 = '' -describe('Webhook api Test', () => { - setup(() => { - const user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create Webhook', done => { - makeWebhook() - .create(webhook) - .then((response) => { - webhookUid = response.uid - expect(response.uid).to.be.not.equal(null) - expect(response.name).to.be.equal(webhook.webhook.name) - expect(response.destinations[0].target_url).to.be.equal(webhook.webhook.destinations[0].target_url) - expect(response.destinations[0].http_basic_auth).to.be.equal(webhook.webhook.destinations[0].http_basic_auth) - // expect(response.destinations[0].http_basic_password).to.be.equal(webhook.webhook.destinations[0].http_basic_password) - expect(response.channels[0]).to.be.equal(webhook.webhook.channels[0]) - expect(response.retry_policy).to.be.equal(webhook.webhook.retry_policy) - expect(response.disabled).to.be.equal(webhook.webhook.disabled) - done() - }) - .catch(done) - }) - - it('should fetch Webhook', done => { - makeWebhook(webhookUid) - .fetch() - .then((response) => { - expect(response.uid).to.be.equal(webhookUid) - expect(response.name).to.be.equal(webhook.webhook.name) - expect(response.destinations[0].target_url).to.be.equal(webhook.webhook.destinations[0].target_url) - expect(response.destinations[0].http_basic_auth).to.be.equal(webhook.webhook.destinations[0].http_basic_auth) - // expect(response.destinations[0].http_basic_password).to.be.equal(webhook.webhook.destinations[0].http_basic_password) - expect(response.channels[0]).to.be.equal(webhook.webhook.channels[0]) - expect(response.retry_policy).to.be.equal(webhook.webhook.retry_policy) - expect(response.disabled).to.be.equal(webhook.webhook.disabled) - done() - }) - .catch(done) - }) - - it('should fetch and update Webhook', done => { - makeWebhook(webhookUid) - .fetch() - .then((webhookRes) => { - Object.assign(webhookRes, cloneDeep(updateWebhook.webhook)) - return webhookRes.update() - }) - .then((response) => { - expect(response.uid).to.be.equal(webhookUid) - expect(response.name).to.be.equal(updateWebhook.webhook.name) - expect(response.destinations[0].target_url).to.be.equal(updateWebhook.webhook.destinations[0].target_url) - expect(response.destinations[0].http_basic_auth).to.be.equal(updateWebhook.webhook.destinations[0].http_basic_auth) - // expect(response.destinations[0].http_basic_password).to.be.equal(updateWebhook.webhook.destinations[0].http_basic_password) - expect(response.channels[0]).to.be.equal(updateWebhook.webhook.channels[0]) - expect(response.retry_policy).to.be.equal(updateWebhook.webhook.retry_policy) - expect(response.disabled).to.be.equal(updateWebhook.webhook.disabled) - done() - }) - .catch(done) - }) - - it('should update Webhook', done => { - const webhookObject = makeWebhook(webhookUid) - Object.assign(webhookObject, cloneDeep(updateWebhook.webhook)) - webhookObject.update() - .then((response) => { - expect(response.uid).to.be.equal(webhookUid) - expect(response.name).to.be.equal(updateWebhook.webhook.name) - expect(response.destinations[0].target_url).to.be.equal(updateWebhook.webhook.destinations[0].target_url) - expect(response.destinations[0].http_basic_auth).to.be.equal(updateWebhook.webhook.destinations[0].http_basic_auth) - // expect(response.destinations[0].http_basic_password).to.be.equal(updateWebhook.webhook.destinations[0].http_basic_password) - expect(response.channels[0]).to.be.equal(updateWebhook.webhook.channels[0]) - expect(response.retry_policy).to.be.equal(updateWebhook.webhook.retry_policy) - expect(response.disabled).to.be.equal(updateWebhook.webhook.disabled) - done() - }) - .catch(done) - }) - - it('should import Webhook', done => { - makeWebhook().import({ - webhook: path.join(__dirname, '../mock/webhook.json') - }) - .then((response) => { - webhookUid2 = response.uid - expect(response.uid).to.be.not.equal(null) - done() - }) - .catch(done) - }) - - it('should get executions of a webhook', done => { - const asset = { - upload: path.join(__dirname, '../mock/webhook.json') - } - client.stack({ api_key: process.env.API_KEY }).asset().create(asset) - .then((assetFile) => { - makeWebhook(webhookUid).executions() - .then((response) => { - response.webhooks.forEach(webhookResponse => { - expect(webhookResponse.uid).to.be.not.equal(null) - expect(webhookResponse.status).to.be.equal(200) - expect(webhookResponse.event_data.module).to.be.equal('asset') - expect(webhookResponse.event_data.api_key).to.be.equal(process.env.API_KEY) - - const webhookasset = webhookResponse.event_data.data.asset - expect(webhookasset.uid).to.be.equal(assetFile.uid) - expect(webhookasset.filename).to.be.equal(assetFile.filename) - expect(webhookasset.url).to.be.equal(assetFile.url) - expect(webhookasset.title).to.be.equal(assetFile.title) - - expect(webhookResponse.webhooks[0]).to.be.equal(webhookUid) - expect(webhookResponse.channel[0]).to.be.equal('assets.create') - }) - done() - }) - .catch(done) - }).catch(done) - }) - - it('should get all Webhook', done => { - makeWebhook().fetchAll() - .then((collection) => { - collection.items.forEach(webhookResponse => { - expect(webhookResponse.uid).to.be.not.equal(null) - expect(webhookResponse.name).to.be.not.equal(null) - expect(webhookResponse.org_uid).to.be.equal(process.env.ORGANIZATION) - }) - done() - }) - .catch(done) - }) - - it('should delete the created webhook', done => { - makeWebhook(webhookUid) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('The Webhook was deleted successfully') - done() - }) - .catch(done) - }) - - it('should delete the created webhook', done => { - makeWebhook(webhookUid2) - .delete() - .then((data) => { - expect(data.notice).to.be.equal('The Webhook was deleted successfully') - done() - }) - .catch(done) - }) -}) - -function makeWebhook (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).webhook(uid) -} diff --git a/test/sanity-check/api/workflow-test.js b/test/sanity-check/api/workflow-test.js deleted file mode 100644 index 01c96545..00000000 --- a/test/sanity-check/api/workflow-test.js +++ /dev/null @@ -1,143 +0,0 @@ -import { expect } from 'chai' -import { describe, it, setup } from 'mocha' -import { jsonReader } from '../utility/fileOperations/readwrite.js' -import { contentstackClient } from '../utility/ContentstackClient.js' -import { firstWorkflow, secondWorkflow, finalWorkflow } from '../mock/workflow.js' -import dotenv from 'dotenv' - -dotenv.config() -let client = {} - -let user = {} -let workflowUid = '' -let workflowUid2 = '' -let workflowUid3 = '' - -describe('Workflow api Test', () => { - setup(async () => { - user = jsonReader('loggedinuser.json') - client = contentstackClient(user.authtoken) - }) - - it('should create Workflow Content type Multi page from JSON', done => { - const workflow = { ...firstWorkflow } - makeWorkflow() - .create({ workflow }) - .then(workflowResponse => { - workflowUid = workflowResponse.uid - expect(workflowResponse.name).to.be.equal(firstWorkflow.name) - expect(workflowResponse.content_types.length).to.be.equal(firstWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(firstWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should create Workflow Content type Multi page', done => { - const workflow = { ...secondWorkflow } - makeWorkflow() - .create({ workflow }) - .then(workflowResponse => { - workflowUid2 = workflowResponse.uid - expect(workflowResponse.name).to.be.equal(secondWorkflow.name) - expect(workflowResponse.content_types.length).to.be.equal(secondWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(secondWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should create Workflow Content type single page', done => { - const workflow = { ...finalWorkflow } - makeWorkflow() - .create({ workflow }) - .then(workflowResponse => { - workflowUid3 = workflowResponse.uid - expect(workflowResponse.name).to.be.equal(finalWorkflow.name) - expect(workflowResponse.content_types.length).to.be.equal(finalWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(finalWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should fetch Workflow from UID', done => { - makeWorkflow(workflowUid) - .fetch() - .then(workflowResponse => { - workflowUid = workflowResponse.uid - expect(workflowResponse.name).to.be.equal(firstWorkflow.name) - expect(workflowResponse.content_types.length).to.be.equal(firstWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(firstWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should update Workflow from UID', done => { - const workflowObj = makeWorkflow(workflowUid) - Object.assign(workflowObj, firstWorkflow) - workflowObj.name = 'Updated name' - - workflowObj - .update() - .then(workflowResponse => { - workflowUid = workflowResponse.uid - expect(workflowResponse.name).to.be.equal('Updated name') - expect(workflowResponse.content_types.length).to.be.equal(firstWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(firstWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should fetch and update Workflow from UID', done => { - makeWorkflow(workflowUid) - .fetch() - .then(workflowResponse => { - workflowResponse.name = firstWorkflow.name - return workflowResponse.update() - }) - .then(workflowResponse => { - expect(workflowResponse.name).to.be.equal(firstWorkflow.name) - expect(workflowResponse.content_types.length).to.be.equal(firstWorkflow.content_types.length) - expect(workflowResponse.workflow_stages.length).to.be.equal(firstWorkflow.workflow_stages.length) - done() - }) - .catch(done) - }) - - it('should delete Workflow from UID', done => { - makeWorkflow(workflowUid) - .delete() - .then(response => { - expect(response.notice).to.be.equal('Workflow deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete Workflow from UID2 ', done => { - makeWorkflow(workflowUid2) - .delete() - .then(response => { - expect(response.notice).to.be.equal('Workflow deleted successfully.') - done() - }) - .catch(done) - }) - - it('should delete Workflow from UID3 ', done => { - makeWorkflow(workflowUid3) - .delete() - .then(response => { - expect(response.notice).to.be.equal('Workflow deleted successfully.') - done() - }) - .catch(done) - }) -}) - -function makeWorkflow (uid = null) { - return client.stack({ api_key: process.env.API_KEY }).workflow(uid) -} diff --git a/test/sanity-check/utility/ContentstackClient.js b/test/sanity-check/utility/ContentstackClient.js index a91c1171..6736e206 100644 --- a/test/sanity-check/utility/ContentstackClient.js +++ b/test/sanity-check/utility/ContentstackClient.js @@ -1,6 +1,15 @@ import * as contentstack from '../../../lib/contentstack.js' import dotenv from 'dotenv' dotenv.config() + +const requiredVars = ['HOST', 'EMAIL', 'PASSWORD', 'ORGANIZATION', 'API_KEY'] +const missingVars = requiredVars.filter((key) => !process.env[key]) + +if (missingVars.length > 0) { + console.error(`\x1b[31mError: Missing environment variables - ${missingVars.join(', ')}`) + process.exit(1) +} + function contentstackClient (authtoken = null) { var params = { host: process.env.HOST, defaultHostName: process.env.DEFAULTHOST } if (authtoken) { diff --git a/test/test.js b/test/test.js deleted file mode 100644 index a66cd167..00000000 --- a/test/test.js +++ /dev/null @@ -1,33 +0,0 @@ -require('./api/user-test') -require('./api/organization-test') -require('./api/stack-test') -require('./api/app-test') -require('./api/hosting-test') -require('./api/app-request-test') -require('./api/authorization-test') -require('./api/app-delete-test') -require('./api/branch-test') -require('./api/branchAlias-test') -require('./api/bulkOperation-test') -require('./api/locale-test') -require('./api/environment-test') -require('./api/deliveryToken-test') -require('./api/role-test') -require('./api/stack-share') -require('./api/contentType-test') -require('./api/asset-test') -require('./api/extension-test') -require('./api/entry-test') -require('./api/webhook-test') -require('./api/workflow-test') -require('./api/globalfield-test') -require('./api/release-test') -require('./api/label-test') -require('./api/contentType-delete-test') -require('./api/delete-test') -require('./api/taxonomy-test') -require('./api/terms-test') -require('./api/team-test') -require('./api/team-users-test') -require('./api/team-stack-role-mapping-test') -require('./api/managementToken-test') diff --git a/test/utility/ContentstackClient.js b/test/utility/ContentstackClient.js deleted file mode 100644 index b9340524..00000000 --- a/test/utility/ContentstackClient.js +++ /dev/null @@ -1,12 +0,0 @@ -import * as contentstack from '../../lib/contentstack.js' -import dotenv from 'dotenv' -dotenv.config() -function contentstackClient (authtoken = null) { - var params = { host: process.env.HOST, defaultHostName: process.env.DEFAULTHOST } - if (authtoken) { - params.authtoken = authtoken - } - return contentstack.client(params) -} - -export { contentstackClient } diff --git a/test/utility/fileOperations/readwrite.js b/test/utility/fileOperations/readwrite.js deleted file mode 100644 index c06fe895..00000000 --- a/test/utility/fileOperations/readwrite.js +++ /dev/null @@ -1,35 +0,0 @@ -import fs from 'fs' -import path from 'path' -const dataFiles = './test/utility/dataFiles/' -export function jsonReader (fileName) { - if (!fs.existsSync(`${dataFiles}${fileName}`)) { - return - } - const fileContents = fs.readFileSync(`${dataFiles}${fileName}`, 'utf8') - try { - const object = JSON.parse(fileContents) - return object - } catch (err) { - return err - } -} - -export function jsonWrite (json, fileName) { - const jsonString = JSON.stringify(json) - ensureDirectoryExistence(`${dataFiles}${fileName}`) - fs.writeFileSync(`${dataFiles}${fileName}`, jsonString) -} - -function ensureDirectoryExistence (filePath) { - var dirname = path.dirname(filePath) - if (!fs.existsSync(dirname)) { - ensureDirectoryExistence(dirname) - fs.mkdirSync(dirname) - } -} - -export function writeDownloadedFile (response, fileName) { - const filePath = path.resolve(dataFiles, fileName) - ensureDirectoryExistence(`${dataFiles}${fileName}`) - response.data.pipe(fs.createWriteStream(filePath)) -}