%PDF- %PDF-
| Direktori : /home/opti/workflow/node_modules/aws-sdk/test/ |
| Current File : /home/opti/workflow/node_modules/aws-sdk/test/endpoint.spec.coffee |
AWS = require('./helpers').AWS
describe 'AWS.Endpoint', ->
it 'throws error if parameter is null/undefined', ->
expect(-> new AWS.Endpoint(null)).toThrow('Invalid endpoint: null')
expect(-> new AWS.Endpoint(undefined)).toThrow('Invalid endpoint: undefined')
it 'copy constructs Endpoint', ->
origEndpoint = new AWS.Endpoint('http://domain.com')
endpoint = new AWS.Endpoint(origEndpoint)
expect(endpoint).not.toBe(origEndpoint)
expect(endpoint.host).toEqual('domain.com')
it 'retains the entire endpoint as the endpoint href', ->
href = 'http://domain.com/'
endpoint = new AWS.Endpoint(href)
expect(endpoint.href).toEqual(href)
it 'populates the endpoint properites from the endpoint href', ->
href = 'http://domain.com/'
endpoint = new AWS.Endpoint(href)
expect(endpoint.href).toEqual(href)
expect(endpoint.protocol).toEqual('http:')
expect(endpoint.host).toEqual('domain.com')
expect(endpoint.hostname).toEqual('domain.com')
expect(endpoint.port).toEqual(80)
it 'keeps port in host when non-standard', ->
href = 'http://domain.com:123/'
endpoint = new AWS.Endpoint(href)
expect(endpoint.href).toEqual(href)
expect(endpoint.protocol).toEqual('http:')
expect(endpoint.host).toEqual('domain.com:123')
expect(endpoint.hostname).toEqual('domain.com')
expect(endpoint.port).toEqual(123)
it 'works with https endpoints', ->
href = 'https://secure.domain.com/'
endpoint = new AWS.Endpoint(href)
expect(endpoint.href).toEqual(href)
expect(endpoint.protocol).toEqual('https:')
expect(endpoint.host).toEqual('secure.domain.com')
expect(endpoint.hostname).toEqual('secure.domain.com')
expect(endpoint.port).toEqual(443)
it 'keeps port in host when non-standard for SSL', ->
href = 'https://secure.domain.com:123/'
endpoint = new AWS.Endpoint(href)
expect(endpoint.href).toEqual(href)
expect(endpoint.protocol).toEqual('https:')
expect(endpoint.host).toEqual('secure.domain.com:123')
expect(endpoint.hostname).toEqual('secure.domain.com')
expect(endpoint.port).toEqual(123)
it 'defaults the protocol to the current AWS.config.sslEnabled mode', ->
AWS.config.sslEnabled = false
endpoint = new AWS.Endpoint('domain.com')
expect(endpoint.href).toEqual('http://domain.com/')
expect(endpoint.protocol).toEqual('http:')
expect(endpoint.host).toEqual('domain.com')
expect(endpoint.hostname).toEqual('domain.com')
expect(endpoint.port).toEqual(80)
it 'defaults the protocol to the current AWS.config.sslEnabled mode', ->
AWS.config.sslEnabled = true
endpoint = new AWS.Endpoint('domain.com')
expect(endpoint.href).toEqual('https://domain.com/')
expect(endpoint.protocol).toEqual('https:')
expect(endpoint.host).toEqual('domain.com')
expect(endpoint.hostname).toEqual('domain.com')
expect(endpoint.port).toEqual(443)
it 'accepts a configuration object that specifies the mode', ->
expect(AWS.config.sslEnabled).toEqual(true)
endpoint = new AWS.Endpoint('domain.com', { sslEnabled: false })
expect(endpoint.href).toEqual('http://domain.com/')
expect(endpoint.protocol).toEqual('http:')
expect(endpoint.host).toEqual('domain.com')
expect(endpoint.hostname).toEqual('domain.com')
expect(endpoint.port).toEqual(80)