From 58940823f258796b6b2501735c976725a858ea6b Mon Sep 17 00:00:00 2001 From: Paul Sastrasinh Date: Wed, 20 Apr 2016 18:43:36 -0400 Subject: [PATCH] Update Title, Fix Tests (#15) * Server Forwards Requests to Chatalytics Web * First Dynamic Data Connected * Pin package.son versions * Change Background * Fix Server Crash on Uncaught Exception * Set Request timeout * Client Subscribes to WebSocket * Updates Chart * Message Counter Hooked In * Add Title Page Data, Fix Tests --- __tests__/Index.test.jsx | 3 +++ client/components/Title/Title.jsx | 4 ++-- server/events.js | 10 ++++++++-- server/server.js | 4 ---- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/__tests__/Index.test.jsx b/__tests__/Index.test.jsx index 0f8f618..77bba50 100644 --- a/__tests__/Index.test.jsx +++ b/__tests__/Index.test.jsx @@ -3,6 +3,9 @@ jest.mock('../client/stores/MainStore.js'); jest.mock('../client/images/logo.png'); jest.mock('../client/images/bg2.jpg'); +jest.mock('../client/sources/MainSource.js'); +jest.mock('../client/actions/MainActions.js'); + import React from 'react'; import ReactDOM from 'react-dom'; import TestUtils from 'react-addons-test-utils'; diff --git a/client/components/Title/Title.jsx b/client/components/Title/Title.jsx index 39035d6..ffc2968 100644 --- a/client/components/Title/Title.jsx +++ b/client/components/Title/Title.jsx @@ -83,10 +83,10 @@ class TitleComponent extends Component { {this.state.event ? this.state.event.message_count : 0}Messages Processed - 2315Words Analyzed + {this.state.event ? this.state.event.active_room_count : 0}Active Rooms - 53Unique Users + {this.state.event ? this.state.event.active_user_count : 0}Active Users diff --git a/server/events.js b/server/events.js index c6b260d..c178a52 100644 --- a/server/events.js +++ b/server/events.js @@ -9,7 +9,9 @@ export default class EventBus { this.state = { message_meter: new Measured.Meter(), message_count: new Measured.Counter(), - start_time: (new Date()).getTime() + start_time: (new Date()).getTime(), + active_rooms: new Set(), + active_users: new Set() } setInterval(() => { @@ -29,7 +31,9 @@ export default class EventBus { this.subscribers.forEach((subscriber) => { subscriber({ message_meter: this.state.message_meter.toJSON(), message_count: this.state.message_count.toJSON(), - start_time: this.state.start_time }); + start_time: this.state.start_time, + active_room_count: this.state.active_rooms.size, + active_user_count: this.state.active_users.size }); }); } @@ -43,6 +47,8 @@ export default class EventBus { let occurrences = message.event.occurrences || 1; this.state.message_meter.mark(occurrences); this.state.message_count.inc(occurrences); + this.state.active_rooms.add(message.event.roomName); + this.state.active_users.add(message.event.username); } } } \ No newline at end of file diff --git a/server/server.js b/server/server.js index 044d2e7..b648cd3 100644 --- a/server/server.js +++ b/server/server.js @@ -21,10 +21,6 @@ process.on('uncaughtException', function (err) { console.error('Caught exception: ' + err); }); -process.on('uncaughtException', function(err) { - console.error('Caught exception: ' + err); -}); - let yamlLoader = new YamlLoader(); yamlLoader.add(path.join(__dirname, 'defaults.config.yaml'), { filterKeys: true });