@xrengine/server-core
Version:
Shared components for XREngine server
69 lines (56 loc) • 2.36 kB
text/typescript
import assert from 'assert'
import _ from 'lodash'
import config from '@xrengine/common/src/config'
import { createDefaultStorageProvider, getStorageProvider } from '../../media/storageprovider/storageprovider'
import {
cleanSceneDataCacheURLs,
parseSceneDataCacheURLs,
sceneCorsPathIdentifier,
sceneRelativePathIdentifier
} from './scene-parser'
describe('Scene Helper Functions', () => {
describe('should replace cache domain', () => {
const storageProvider = createDefaultStorageProvider()
const mockValue = `abcdef2144536`
const mockValue2 = `08723ikjbolicujhc0asc`
const savedMockData = {
value: `${sceneRelativePathIdentifier}/${mockValue}`,
property: {
nestedValue: `${sceneRelativePathIdentifier}/${mockValue2}`
}
}
const parsedMockData = {
value: `https://${storageProvider.cacheDomain}/projects/${mockValue}`,
property: {
nestedValue: `https://${storageProvider.cacheDomain}/projects/${mockValue2}`
}
}
it('should parse saved data', async function () {
const parsedData = parseSceneDataCacheURLs(_.cloneDeep(savedMockData) as any, storageProvider.cacheDomain)
assert.deepStrictEqual(parsedMockData, parsedData)
})
it('should unparse parsed data', async function () {
const unparsedData = cleanSceneDataCacheURLs(_.cloneDeep(parsedMockData) as any, storageProvider.cacheDomain)
assert.deepStrictEqual(savedMockData, unparsedData)
})
})
describe('should replace cors proxy', () => {
const mockDomain = `https://mydomain.com/something`
const savedMockData = {
value: `${sceneCorsPathIdentifier}/${mockDomain}`
}
const parsedMockData = {
value: `${config.client.cors.proxyUrl}/${mockDomain}`
}
it('should parse saved data', async function () {
const storageProvider = getStorageProvider()
const parsedData = parseSceneDataCacheURLs(_.cloneDeep(savedMockData) as any, storageProvider.cacheDomain)
assert.deepStrictEqual(parsedMockData, parsedData)
})
it('should unparse parsed data', async function () {
const storageProvider = getStorageProvider()
const unparsedData = cleanSceneDataCacheURLs(_.cloneDeep(parsedMockData) as any, storageProvider.cacheDomain)
assert.deepStrictEqual(savedMockData, unparsedData)
})
})
})