def test_send_with_auth_success(self): stats = HttpAPIStatsCollector().get() response = yield self.web.get( "send", { 'username': self.username, 'password': '******', 'to': '98700177', 'content': 'anycontent' }) self.assertEqual(response.responseCode, 500) # This is a normal error since SMPPClientManagerPB is not really running self.assertEqual( response.value(), "Error \"Cannot send submit_sm, check SMPPClientManagerPB log file for details\"" ) self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 1) self.assertTrue(type(stats.get('last_request_at')) == datetime) self.assertEqual(stats.get('auth_error_count'), 0) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 1) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0)
def test_stats_inc(self): stats = HttpAPIStatsCollector().get() current = stats.get('request_count') stats.inc('request_count', 1) self.assertEqual(stats.get('request_count'), current+1) stats.inc('request_count', 5) self.assertEqual(stats.get('request_count'), current+6)
def test_is_singleton(self): i1 = HttpAPIStatsCollector() i2 = HttpAPIStatsCollector() self.assertEqual(i1, i2) i1.get().set('auth_error_count', 100) self.assertEqual(i1.get().get('auth_error_count'), i2.get().get('auth_error_count'), )
def test_send_with_auth_success(self): stats = HttpAPIStatsCollector().get() response = yield self.web.get("send", {'username': self.username, 'password': '******', 'to': '98700177', 'content': 'anycontent'}) self.assertEqual(response.responseCode, 500) # This is a normal error since SMPPClientManagerPB is not really running self.assertEqual(response.value(), "Error \"Cannot send submit_sm, check SMPPClientManagerPB log file for details\"") self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 1) self.assertTrue(type(stats.get('last_request_at')) == datetime) self.assertEqual(stats.get('auth_error_count'), 0) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 1) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0)
def httpapi(self, arg, opts): sc = HttpAPIStatsCollector() headers = ["#Item", "Value"] table = [] for k, v in sc.get()._stats.iteritems(): row = [] row.append('#%s' % k) if k[-3:] == '_at': row.append(formatDateTime(v)) else: row.append(v) table.append(row) self.protocol.sendData(tabulate(table, headers, tablefmt="plain", numalign="left").encode('ascii'))
def httpapi(self, arg, opts): sc = HttpAPIStatsCollector() headers = ["#Item", "Value"] table = [] for k, v in sc.get().getStats().iteritems(): row = [] row.append('#%s' % k) if k[-3:] == '_at': row.append(formatDateTime(v)) else: row.append(v) table.append(row) self.protocol.sendData(tabulate(table, headers, tablefmt="plain", numalign="left").encode('ascii'))
def test_stats_set(self): stats = HttpAPIStatsCollector().get() stats.set('success_count', 1000) self.assertEqual(stats.get('success_count'), 1000)
def test_send_with_auth_failure(self): stats = HttpAPIStatsCollector().get() self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 0) self.assertEqual(stats.get('last_request_at'), 0) self.assertEqual(stats.get('auth_error_count'), 0) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 0) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0) response = yield self.web.get( "send", { 'username': self.username, 'password': '******', 'to': '98700177', 'content': 'anycontent' }) self.assertEqual(response.responseCode, 403) self.assertEqual( response.value(), "Error \"Authentication failure for username:%s\"" % self.username) self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 1) self.assertTrue(type(stats.get('last_request_at')) == datetime) self.assertEqual(stats.get('auth_error_count'), 1) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 0) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0)
def test_send_with_auth_failure(self): stats = HttpAPIStatsCollector().get() self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 0) self.assertEqual(stats.get('last_request_at'), 0) self.assertEqual(stats.get('auth_error_count'), 0) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 0) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0) response = yield self.web.get("send", {'username': self.username, 'password': '******', 'to': '98700177', 'content': 'anycontent'}) self.assertEqual(response.responseCode, 403) self.assertEqual(response.value(), "Error \"Authentication failure for username:%s\"" % self.username) self.assertTrue(type(stats.get('created_at')) == datetime) self.assertEqual(stats.get('request_count'), 1) self.assertTrue(type(stats.get('last_request_at')) == datetime) self.assertEqual(stats.get('auth_error_count'), 1) self.assertEqual(stats.get('route_error_count'), 0) self.assertEqual(stats.get('throughput_error_count'), 0) self.assertEqual(stats.get('charging_error_count'), 0) self.assertEqual(stats.get('server_error_count'), 0) self.assertEqual(stats.get('success_count'), 0) self.assertEqual(stats.get('last_success_at'), 0)