spec: add test for basic authentication

This commit is contained in:
deepak1556 2015-05-04 20:44:36 +05:30
Родитель 06834b723b
Коммит 2d190b9952
3 изменённых файлов: 42 добавлений и 0 удалений

Просмотреть файл

@ -4,6 +4,7 @@ path = require 'path'
remote = require 'remote'
http = require 'http'
url = require 'url'
auth = require 'basic-auth'
BrowserWindow = remote.require 'browser-window'
@ -245,3 +246,26 @@ describe 'browser-window module', ->
w.webContents.on 'did-finish-load', ->
w.close()
w.loadUrl "file://#{fixtures}/pages/f.html"
describe 'basic auth', ->
it 'should authenticate with correct credentials', (done) ->
ipc = remote.require 'ipc'
server = http.createServer (req, res) ->
action = url.parse(req.url, true).pathname
if action == '/'
credentials = auth(req)
if credentials.name == 'test' and credentials.pass == 'test'
res.end('Authenticated')
server.close()
else if action == '/jquery.js'
js = fs.readFileSync(path.join(__dirname, 'static', 'jquery-2.0.3.min.js'))
res.writeHead(200, {'Content-Type': 'text/javascript'})
res.end(js, 'utf-8')
server.listen 62342, '127.0.0.1'
ipc.on 'console-message', (e, message) ->
ipc.removeAllListeners 'console-message'
assert.equal message, 'Authenticated'
done()
w.webContents.on 'did-finish-load', ->
w.close()
w.loadUrl "file://#{fixtures}/pages/basic-auth.html"

17
spec/fixtures/pages/basic-auth.html поставляемый Normal file
Просмотреть файл

@ -0,0 +1,17 @@
<html>
<body>
<script src='http://127.0.0.1:62342/jquery.js'></script>
<script type="text/javascript" charset="utf-8">
$.ajax({
type: "GET",
url: "http://127.0.0.1:62342",
headers: {
"Authorization": "Basic " + btoa("test:test")
},
success: function (result){
require('ipc').send('console-message', result);
}
});
</script>
</body>
</html>

Просмотреть файл

@ -4,6 +4,7 @@
"main": "static/main.js",
"version": "0.1.0",
"devDependencies": {
"basic-auth": "^1.0.0",
"formidable": "1.0.16",
"graceful-fs": "3.0.5",
"mocha": "2.1.0",