8000 Added tests for server logs in case of test reports · browserstack/browserstack-runner@180a8ed · GitHub
[go: up one dir, main page]

Skip to content

Commit 180a8ed

Browse files
committed
Added tests for server logs in case of test reports
1 parent e21a4b1 commit 180a8ed

File tree

1 file changed

+54
-4
lines changed

1 file changed

+54
-4
lines changed

tests/behaviour/server.js

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ describe('Server Assertions', function() {
5656

5757
beforeEach(function() {
5858
sandBox = sinon.sandbox.create();
59-
bsClient = sandBox.stub();
59+
bsClient = {
60+
takeScreenshot: sandBox.stub()
61+
},
6062
infoLoggerStub = sandBox.stub(browserStackRunnerServer.logger, 'info');
6163

6264
server = browserStackRunnerServer.Server(bsClient, workers, getBaseConfig(), function(error, reports) {
@@ -70,7 +72,7 @@ describe('Server Assertions', function() {
7072
server.close();
7173
});
7274

73-
it('logs', function(done) {
75+
it('logs console.log correctly', function(done) {
7476
var browserString = 'OS X Chrome 54'
7577
requestServer('/_log', '{"arguments":["Random String"]}', {
7678
'x-browser-string': browserString
@@ -91,8 +93,7 @@ describe('Server Assertions', function() {
9193
});
9294
});
9395

94-
it('test errors', function(done) {
95-
this.timeout(0);
96+
it('logs test errors correctly', function(done) {
9697
var browserUUIDString = 'abcd-efgh-1234-5678',
9798
browserInfoString = 'browserInfo';
9899

@@ -144,5 +145,54 @@ describe('Server Assertions', function() {
144145
});
145146
});
146147
});
148+
149+
it('logs for test reports correctly', function(done) {
150+
var browserUUIDString = 'abcd-efgh-1234-5678',
151+
browserString = 'OS X Chrome 41',
152+
browserInfoString = 'browserInfo';
153+
154+
workers[browserUUIDString] = {
155+
getTestBrowserInfo: sandBox.stub().returns(browserInfoString),
156+
string: 'workerString'
157+
};
158+
var requestBodyObject = {
159+
testCounts: {
160+
total: 1,
161+
passed: 1,
162+
failed: 0,
163+
skipped: 0
164+
},
165+
runtime: '00:01:00',
166+
status: 'passed'
167+
};
168+
169+
requestServer('/_report', JSON.stringify(requestBodyObject), {
170+
'x-worker-uuid': browserUUIDString
171+
}, function(error) {
172+
if(error) done(error);
173+
assert.equal(infoLoggerStub.called, true);
174+
assert.equal(infoLoggerStub.callCount, 1);
175+
assert.equal(infoLoggerStub.getCalls()[0].args.length, 7);
176+
assert.equal(infoLoggerStub.getCalls()[0].args[0], '[%s] ' + chalk['green']('Passed:') + ' %d tests, %d passed, %d failed, %d skipped; ran for %dms');
177+
assert.equal(infoLoggerStub.getCalls()[0].args[1], browserInfoString);
178+
assert.equal(infoLoggerStub.getCalls()[0].args[2], 1);
179+
assert.equal(infoLoggerStub.getCalls()[0].args[3], 1);
180+
assert.equal(infoLoggerStub.getCalls()[0].args[4], 0);
181+
assert.equal(infoLoggerStub.getCalls()[0].args[5], 0);
182+
assert.equal(infoLoggerStub.getCalls()[0].args[6], '00:01:00');
183+
184+
requestServer('/_report', '{"arguments":["Invalid Random String', {
185+
'x-worker-uuid': browserUUIDString,
186+
'x-browser-string': browserString
187+
}, function(error) {
188+
if(error) done(error);
189+
assert.equal(infoLoggerStub.callCount, 2);
190+
assert.equal(infoLoggerStub.getCalls()[1].args.length, 2);
191+
assert.equal(infoLoggerStub.getCalls()[1].args[0], '[%s] Null response from remote Browser');
192+
assert.equal(infoLoggerStub.getCalls()[1].args[1], browserString);
193+
done();
194+
});
195+
});
196+
});
147197
});
148198
});

0 commit comments

Comments
 (0)
0