/*! * @license * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import assert from 'assert'; import { AlfrescoApi, ContentApi } from '../src'; import { EcmAuthMock } from './mockObjects'; describe('AlfrescoContent', () => { const hostEcm = 'https://127.0.0.1:8080'; const nodesUrl = hostEcm + '/alfresco/api/-default-/public/alfresco/versions/1/nodes/'; const sharedLinksUrl = hostEcm + '/alfresco/api/-default-/public/alfresco/versions/1/shared-links/'; const nodeId = '1a0b110f-1e09-4ca2-b367-fe25e4964a4'; const versionId = '1.1'; let authResponseMock: EcmAuthMock; let contentApi: ContentApi; beforeEach((done) => { authResponseMock = new EcmAuthMock(hostEcm); authResponseMock.get201Response(); const alfrescoJsApi = new AlfrescoApi({ hostEcm }); alfrescoJsApi.login('admin', 'admin').then(() => { contentApi = new ContentApi(alfrescoJsApi); done(); }); }); it('outputs thumbnail url', () => { const thumbnailUrl = contentApi.getDocumentThumbnailUrl(nodeId); assert.equal( thumbnailUrl, nodesUrl + nodeId + '/renditions/doclib/content?attachment=false&' + 'alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs thumbnail url as attachment', () => { const thumbnailUrl = contentApi.getDocumentThumbnailUrl(nodeId, true); assert.equal( thumbnailUrl, nodesUrl + nodeId + '/renditions/doclib/content?attachment=true&' + 'alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs thumbnail url with custom ticket', () => { const thumbnailUrl = contentApi.getDocumentThumbnailUrl(nodeId, true, 'custom_ticket'); assert.equal(thumbnailUrl, nodesUrl + nodeId + '/renditions/doclib/content?attachment=true&' + 'alf_ticket=custom_ticket'); }); it('outputs preview url', () => { const thumbnailUrl = contentApi.getDocumentPreviewUrl(nodeId); assert.equal( thumbnailUrl, nodesUrl + nodeId + '/renditions/imgpreview/content?attachment=false&' + 'alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs preview url as attachment', () => { const thumbnailUrl = contentApi.getDocumentPreviewUrl(nodeId, true); assert.equal( thumbnailUrl, nodesUrl + nodeId + '/renditions/imgpreview/content?attachment=true&' + 'alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs preview url with custom ticket', () => { const thumbnailUrl = contentApi.getDocumentPreviewUrl(nodeId, true, 'custom_ticket'); assert.equal(thumbnailUrl, nodesUrl + nodeId + '/renditions/imgpreview/content?attachment=true&' + 'alf_ticket=custom_ticket'); }); it('outputs content url', () => { const contentUrl = contentApi.getContentUrl(nodeId); assert.equal(contentUrl, nodesUrl + nodeId + '/content?attachment=false' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1'); }); it('outputs content url as attachment', () => { const contentUrl = contentApi.getContentUrl(nodeId, true); assert.equal(contentUrl, nodesUrl + nodeId + '/content?attachment=true' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1'); }); it('outputs content url with custom ticket', () => { const contentUrl = contentApi.getContentUrl(nodeId, true, 'custom_ticket'); assert.equal(contentUrl, nodesUrl + nodeId + '/content?attachment=true' + '&alf_ticket=custom_ticket'); }); it('outputs rendition url', () => { const encoding = 'pdf'; const contentUrl = contentApi.getRenditionUrl(nodeId, encoding); assert.equal( contentUrl, nodesUrl + nodeId + '/renditions/' + encoding + '/content?attachment=false' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs rendition url as attachment', () => { const encoding = 'pdf'; const contentUrl = contentApi.getRenditionUrl(nodeId, encoding, true); assert.equal( contentUrl, nodesUrl + nodeId + '/renditions/' + encoding + '/content?attachment=true' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs rendition url with custom ticket', () => { const encoding = 'pdf'; const contentUrl = contentApi.getRenditionUrl(nodeId, encoding, true, 'custom_ticket'); assert.equal(contentUrl, nodesUrl + nodeId + '/renditions/' + encoding + '/content?attachment=true' + '&alf_ticket=custom_ticket'); }); it('outputs version rendition url', () => { const encoding = 'pdf'; const contentUrl = contentApi.getVersionRenditionUrl(nodeId, versionId, encoding); assert.equal( contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/renditions/' + encoding + '/content?attachment=false' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs version rendition url as attachment', () => { const encoding = 'pdf'; const contentUrl = contentApi.getVersionRenditionUrl(nodeId, versionId, encoding, true); assert.equal( contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/renditions/' + encoding + '/content?attachment=true' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs version rendition url with custom ticket', () => { const encoding = 'pdf'; const contentUrl = contentApi.getVersionRenditionUrl(nodeId, versionId, encoding, true, 'custom_ticket'); assert.equal( contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/renditions/' + encoding + '/content?attachment=true' + '&alf_ticket=custom_ticket' ); }); it('outputs version content url', () => { const contentUrl = contentApi.getVersionContentUrl(nodeId, versionId); assert.equal( contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/content?attachment=false' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs version content url as attachment', () => { const contentUrl = contentApi.getVersionContentUrl(nodeId, versionId, true); assert.equal( contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/content?attachment=true' + '&alf_ticket=TICKET_4479f4d3bb155195879bfbb8d5206f433488a1b1' ); }); it('outputs version content url with custom ticket', () => { const contentUrl = contentApi.getVersionContentUrl(nodeId, versionId, true, 'custom_ticket'); assert.equal(contentUrl, nodesUrl + nodeId + '/versions/' + versionId + '/content?attachment=true' + '&alf_ticket=custom_ticket'); }); it('should output shared link content url', () => { const url = contentApi.getSharedLinkContentUrl(nodeId); assert.equal(url, sharedLinksUrl + nodeId + '/content?attachment=false'); }); it('should output shared link content as attachment', () => { const url = contentApi.getSharedLinkContentUrl(nodeId, true); assert.equal(url, sharedLinksUrl + nodeId + '/content?attachment=true'); }); it('should generate shared link rendition url', () => { const url = contentApi.getSharedLinkRenditionUrl(nodeId, 'pdf'); assert.equal(url, sharedLinksUrl + nodeId + '/renditions/pdf/content?attachment=false'); }); it('should generate shared link rendition url for download', () => { const url = contentApi.getSharedLinkRenditionUrl(nodeId, 'pdf', true); assert.equal(url, sharedLinksUrl + nodeId + '/renditions/pdf/content?attachment=true'); }); });