def test_can_get_all_status_code(self): self.db.query(Request).delete() for i in range(4): RequestFactory.create( url='http://m.com/page-%d' % i, domain_name='m.com', status_code=200 + (100*i), completed_date=date.today() - timedelta(days=i) ) status_code = Request.get_all_status_code(self.db) expect(status_code).to_length(4) expect(status_code).to_be_like([ { 'statusCodeTitle': 'OK', 'statusCode': 200 }, { 'statusCodeTitle': 'Multiple Choices', 'statusCode': 300 }, { 'statusCodeTitle': 'Bad Request', 'statusCode': 400 }, { 'statusCodeTitle': 'Internal Server Error', 'statusCode': 500 } ])
def test_can_get_response_time_avg(self): self.db.query(Request).delete() domain = DomainFactory.create() avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0) RequestFactory.create(status_code=200, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=304, domain_name=domain.name, response_time=0.35) avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0.3) RequestFactory.create(status_code=400, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=403, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=404, domain_name=domain.name, response_time=0.25) avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0.3)
def test_can_get_all_status_code(self): self.db.query(Request).delete() for i in range(4): RequestFactory.create( url='http://m.com/page-%d' % i, domain_name='m.com', status_code=200 + (100*i), completed_date=date.today() - timedelta(days=i) ) status_code = Request.get_all_status_code(self.db) expect(status_code).to_length(4) expect(status_code).to_be_like([ { 'statusCodeTitle': 'OK', 'statusCode': 200 }, { 'statusCodeTitle': 'Multiple Choices', 'statusCode': 300 }, { 'statusCodeTitle': 'Bad Request', 'statusCode': 400 }, { 'statusCodeTitle': 'Internal Server Error', 'statusCode': 500 } ])
def test_can_get_all_status_code(self): for i in range(3): for j in range(4): RequestFactory.create( url='http://m.com/page-%d' % j, domain_name='m.com', status_code=200 + (100*j), ) self.db.flush() response = yield self.authenticated_fetch( '/last-requests/status-code/' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([ { u'statusCodeTitle': u'OK', u'statusCode': 200 }, { u'statusCodeTitle': u'Multiple Choices', u'statusCode': 300 }, { u'statusCodeTitle': u'Bad Request', u'statusCode': 400 }, { u'statusCodeTitle': u'Internal Server Error', u'statusCode': 500 } ])
def test_can_get_domains_details(self): self.db.query(Domain).delete() details = Domain.get_domains_details(self.db) expect(details).to_length(0) domain = DomainFactory.create(name='domain-1.com', url='http://domain-1.com/') domain2 = DomainFactory.create(name='domain-2.com', url='http://domain-2.com/') DomainFactory.create() page = PageFactory.create(domain=domain) page2 = PageFactory.create(domain=domain) page3 = PageFactory.create(domain=domain2) ReviewFactory.create(domain=domain, page=page, is_active=True, number_of_violations=20) ReviewFactory.create(domain=domain, page=page2, is_active=True, number_of_violations=10) ReviewFactory.create(domain=domain2, page=page3, is_active=True, number_of_violations=30) RequestFactory.create(status_code=200, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=304, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=400, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=403, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=404, domain_name=domain.name, response_time=0.25) details = Domain.get_domains_details(self.db) expect(details).to_length(3) expect(details[0]).to_length(10) expect(details[0]['url']).to_equal('http://domain-1.com/') expect(details[0]['name']).to_equal('domain-1.com') expect(details[0]['violationCount']).to_equal(30) expect(details[0]['pageCount']).to_equal(2) expect(details[0]['reviewCount']).to_equal(2) expect(details[0]['reviewPercentage']).to_equal(100.0) expect(details[0]['errorPercentage']).to_equal(60.0) expect(details[0]['is_active']).to_be_true() expect(details[0]['averageResponseTime']).to_equal(0.3)
def test_can_increment_requests_count(self): self.db.query(Request).delete() self.cache.redis.delete('requests-count') for i in range(2): RequestFactory.create() yield self.cache.increment_requests_count(2) request_count = yield self.cache.get_requests_count() expect(request_count).to_equal(4) # should get from cache self.cache.db = None request_count = yield self.cache.increment_requests_count(5) expect(request_count).to_equal(9)
def test_can_get_requests_by_status_code(self): request = RequestFactory.create( domain_name='globo.com', status_code=200 ) loaded = Request.get_requests_by_status_code('globo.com', 200, self.db) expect(loaded[0].url).to_equal(request.url) expect(loaded[0].review_url).to_equal(request.review_url) expect(loaded[0].completed_date).to_equal(request.completed_date) invalid_domain = Request.get_requests_by_status_code( 'g1.globo.com', 200, self.db ) expect(invalid_domain).to_equal([]) invalid_code = Request.get_requests_by_status_code( 'globo.com', 2300, self.db ) expect(invalid_code).to_equal([])
def test_get_last_requests(self): self.db.query(Request).delete() self.cache.redis.delete('requests-count') dt1 = datetime(2013, 11, 12, 13, 25, 27) dt1_timestamp = calendar.timegm(dt1.utctimetuple()) request = RequestFactory.create(completed_date=dt1) response = yield self.http_client.fetch(self.get_url('/last-requests/')) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like({ u'requestsCount': 1, u'requests': [{ u'url': request.url, u'status_code': request.status_code, u'completed_date': dt1_timestamp, u'domain_name': request.domain_name, u'effective_url': request.effective_url, u'review_url': request.review_url, u'response_time': request.response_time }] })
def test_can_get_domains_full_data(self): domains = [] for i in range(3): domains.append(DomainFactory.create(name='domain-%d.com' % i)) pages = [] for i, domain in enumerate(domains): pages.append([]) for j in range(3): pages[i].append(PageFactory.create(domain=domain)) requests = reviews = [] for i, (domain, page) in enumerate(zip(domains, pages)): for j in range(i + 1): reviews.append( ReviewFactory.create(domain=domain, page=page[j], is_active=True, number_of_violations=(5 + 2 * j))) requests.append( RequestFactory.create(status_code=200 if j % 2 == 0 else 404, domain_name=domain.name, response_time=0.25 * (i + 1))) self.server.application.violation_definitions = { 'key.%s' % i: { 'title': 'title.%s' % i, 'category': 'category.%s' % (i % 3), 'key': Key.get_or_create(self.db, 'key.%d' % i, 'category.%d' % (i % 3)) } for i in range(9) } response = yield self.authenticated_fetch('/domains-details') expect(response.code).to_equal(200) full_data = loads(response.body) expect(full_data).to_length(3) expect(full_data[0].keys()).to_length(10) expect(map(lambda d: d['name'], full_data)).to_be_like( ['domain-0.com', 'domain-1.com', 'domain-2.com']) expect(map(lambda d: d['pageCount'], full_data)).to_be_like([3, 3, 3]) expect(map(lambda d: d['reviewCount'], full_data)).to_be_like([1, 2, 3]) expect(map(lambda d: d['violationCount'], full_data)).to_be_like([5, 12, 21]) expect(map(lambda d: d['reviewPercentage'], full_data)).to_be_like([33.33, 66.67, 100.0]) expect(map(lambda d: d['errorPercentage'], full_data)).to_be_like([0.0, 50.0, 33.33]) expect(map(lambda d: d['averageResponseTime'], full_data)).to_be_like([0.25, 0.5, 0.75])
def test_can_get_requests_by_status_code(self): request = RequestFactory.create( domain_name='globo.com', status_code=200 ) loaded = Request.get_requests_by_status_code('globo.com', 200, self.db) expect(loaded[0].url).to_equal(request.url) expect(loaded[0].review_url).to_equal(request.review_url) expect(loaded[0].completed_date).to_equal(request.completed_date) invalid_domain = Request.get_requests_by_status_code( 'g1.globo.com', 200, self.db ) expect(invalid_domain).to_equal([]) invalid_code = Request.get_requests_by_status_code( 'globo.com', 2300, self.db ) expect(invalid_code).to_equal([])
def test_can_get_requests_count(self): self.db.query(Request).delete() key = 'requests-count' self.cache.redis.delete(key) for i in range(2): RequestFactory.create() request_count = yield self.cache.get_requests_count() expect(request_count).to_equal(2) # should get from cache self.cache.db = None request_count = yield self.cache.get_requests_count() expect(request_count).to_equal(2)
def test_can_remove_old_requests(self): self.db.query(Request).delete() config = Config() config.DAYS_TO_KEEP_REQUESTS = 1 for i in range(4): RequestFactory.create( url='http://m.com/page-%d' % i, domain_name='m.com', status_code=200, completed_date=date.today() - timedelta(days=i) ) Request.delete_old_requests(self.db, config) requests = self.db.query(Request).all() expect(requests).to_length(1)
def test_can_remove_old_requests(self): self.db.query(Request).delete() config = Config() config.DAYS_TO_KEEP_REQUESTS = 1 for i in range(4): RequestFactory.create( url='http://m.com/page-%d' % i, domain_name='m.com', status_code=200, completed_date=date.today() - timedelta(days=i) ) Request.delete_old_requests(self.db, config) requests = self.db.query(Request).all() expect(requests).to_length(1)
def test_can_get_status_code_info(self): request = RequestFactory.create(domain_name='g1.globo.com') loaded = Request.get_status_code_info('g1.globo.com', self.db) expect(loaded[0].get('code')).to_equal(request.status_code) expect(loaded[0].get('total')).to_equal(1) invalid_domain = Request.get_status_code_info('g2.globo.com', self.db) expect(invalid_domain).to_equal([])
def test_can_get_status_code_info(self): request = RequestFactory.create(domain_name='g1.globo.com') loaded = Request.get_status_code_info('g1.globo.com', self.db) expect(loaded[0].get('code')).to_equal(request.status_code) expect(loaded[0].get('total')).to_equal(1) invalid_domain = Request.get_status_code_info('g2.globo.com', self.db) expect(invalid_domain).to_equal([])
def test_can_increment_requests_count(self): self.db.query(Request).delete() key = 'requests-count' self.sync_cache.redis.delete(key) for i in range(5): RequestFactory.create() self.sync_cache.increment_requests_count(4) page_count = self.sync_cache.redis.get(key) expect(page_count).to_equal('9') # should get from cache self.sync_cache.db = None self.sync_cache.increment_requests_count(10) page_count = self.sync_cache.redis.get(key) expect(page_count).to_equal('19')
def test_get_last_requests(self): self.db.query(Request).delete() dt1 = datetime(2013, 11, 12) dt1_timestamp = calendar.timegm(dt1.utctimetuple()) domain1 = DomainFactory.create() domain2 = DomainFactory.create() request = RequestFactory.create( domain_name=domain1.name, completed_date=dt1 ) response = yield self.authenticated_fetch('/last-requests/') expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like({ u'requests': [{ u'url': request.url, u'status_code': request.status_code, u'completed_date': dt1_timestamp, u'domain_name': request.domain_name, u'effective_url': request.effective_url, u'review_url': request.review_url, u'response_time': request.response_time }] }) request = RequestFactory.create(domain_name=domain2.name, completed_date=dt1) response = yield self.authenticated_fetch('/last-requests/') expect(response.code).to_equal(200) expect(len(loads(response.body)['requests'])).to_be_like(2) response = yield self.authenticated_fetch( '/last-requests/?domain_filter=%s' % domain2.name ) expect(response.code).to_equal(200) response_body = loads(response.body) expect(len(response_body['requests'])).to_be_like(1) expect(response_body['requests'][0]['domain_name']).to_be_like(domain2.name)
def test_can_get_response_time_avg(self): self.db.query(Request).delete() domain = DomainFactory.create() avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0) RequestFactory.create(status_code=200, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=304, domain_name=domain.name, response_time=0.35) avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0.3) RequestFactory.create(status_code=400, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=403, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=404, domain_name=domain.name, response_time=0.25) avg = domain.get_response_time_avg(self.db) expect(avg).to_be_like(0.3)
def test_get_last_requests_filter_by_staus_code(self): for i in range(3): RequestFactory.create( status_code=200, domain_name='globo.com' ) RequestFactory.create( status_code=404, domain_name='g1.globo.com' ) response = yield self.authenticated_fetch( '/last-requests/?status_code_filter=200' ) expect(response.code).to_equal(200) response_body = loads(response.body) expect(response_body['requests']).to_length(3) expect(response_body['requests'][0]['domain_name']).to_be_like('globo.com')
def test_can_get_bad_request_count(self): self.db.query(Request).delete() domain = DomainFactory.create() bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(0) RequestFactory.create(status_code=200, domain_name=domain.name) RequestFactory.create(status_code=304, domain_name=domain.name) bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(0) RequestFactory.create(status_code=400, domain_name=domain.name) RequestFactory.create(status_code=403, domain_name=domain.name) RequestFactory.create(status_code=404, domain_name=domain.name) bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(3)
def test_can_get_bad_request_count(self): self.db.query(Request).delete() domain = DomainFactory.create() bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(0) RequestFactory.create(status_code=200, domain_name=domain.name) RequestFactory.create(status_code=304, domain_name=domain.name) bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(0) RequestFactory.create(status_code=400, domain_name=domain.name) RequestFactory.create(status_code=403, domain_name=domain.name) RequestFactory.create(status_code=404, domain_name=domain.name) bad = domain.get_bad_request_count(self.db) expect(bad).to_equal(3)
def test_can_convert_request_to_dict(self): request = RequestFactory.create() request_dict = request.to_dict() expect(request_dict['domain_name']).to_equal(str(request.domain_name)) expect(request_dict['url']).to_equal(request.url) expect(request_dict['effective_url']).to_equal(request.effective_url) expect(request_dict['status_code']).to_equal(request.status_code) expect(request_dict['response_time']).to_equal(request.response_time) expect(request_dict['completed_date']).to_equal(request.completed_date) expect(request_dict['review_url']).to_equal(request.review_url)
def test_can_convert_request_to_dict(self): request = RequestFactory.create() request_dict = request.to_dict() expect(request_dict['domain_name']).to_equal(str(request.domain_name)) expect(request_dict['url']).to_equal(request.url) expect(request_dict['effective_url']).to_equal(request.effective_url) expect(request_dict['status_code']).to_equal(request.status_code) expect(request_dict['response_time']).to_equal(request.response_time) expect(request_dict['completed_date']).to_equal(request.completed_date) expect(request_dict['review_url']).to_equal(request.review_url)
def test_can_get_bad_request_count_for_domain(self): self.db.query(Request).delete() self.db.query(Domain).delete() DomainFactory.create(url='http://globo.com', name='globo.com') key = 'globo.com-bad-request-count' self.cache.redis.delete(key) RequestFactory.create(status_code=200, domain_name='globo.com') RequestFactory.create(status_code=304, domain_name='globo.com') RequestFactory.create(status_code=400, domain_name='globo.com') RequestFactory.create(status_code=403, domain_name='globo.com') RequestFactory.create(status_code=404, domain_name='globo.com') bad = yield self.cache.get_bad_request_count('globo.com') expect(bad).to_equal(3) self.cache.db = None bad = yield self.cache.get_bad_request_count('globo.com') expect(bad).to_equal(3)
def test_can_get_response_time_avg_for_domain(self): self.db.query(Request).delete() self.db.query(Domain).delete() DomainFactory.create(url='http://globo.com', name='globo.com') key = 'globo.com-response-time-avg' self.cache.redis.delete(key) RequestFactory.create(status_code=200, domain_name='globo.com', response_time=0.25) RequestFactory.create(status_code=304, domain_name='globo.com', response_time=0.35) RequestFactory.create(status_code=400, domain_name='globo.com', response_time=0.25) RequestFactory.create(status_code=403, domain_name='globo.com', response_time=0.35) RequestFactory.create(status_code=404, domain_name='globo.com', response_time=0.25) avg = yield self.cache.get_response_time_avg('globo.com') expect(avg).to_be_like(0.3) self.cache.db = None avg = yield self.cache.get_response_time_avg('globo.com') expect(avg).to_be_like(0.3)
def test_can_get_domains_full_data(self): domains = [] for i in xrange(3): domains.append(DomainFactory.create(name='domain-%d.com' % i)) pages = [] for i, domain in enumerate(domains): pages.append([]) for j in xrange(3): pages[i].append(PageFactory.create(domain=domain)) requests = reviews = [] for i, (domain, page) in enumerate(zip(domains, pages)): for j in xrange(i + 1): reviews.append(ReviewFactory.create( domain=domain, page=page[j], is_active=True, number_of_violations=(5 + 2 * j) )) requests.append(RequestFactory.create( status_code=200 if j % 2 == 0 else 404, domain_name=domain.name, response_time=0.25 * (i + 1) )) self.server.application.violation_definitions = { 'key.%s' % i: { 'title': 'title.%s' % i, 'category': 'category.%s' % (i % 3), 'key': Key.get_or_create(self.db, 'key.%d' % i, 'category.%d' % (i % 3)) } for i in xrange(9) } response = yield self.http_client.fetch( self.get_url('/domains-details') ) expect(response.code).to_equal(200) full_data = loads(response.body) expect(full_data).to_length(3) expect(full_data[0].keys()).to_length(10) expect(map(lambda d: d['name'], full_data)).to_be_like(['domain-0.com', 'domain-1.com', 'domain-2.com']) expect(map(lambda d: d['pageCount'], full_data)).to_be_like([3, 3, 3]) expect(map(lambda d: d['reviewCount'], full_data)).to_be_like([1, 2, 3]) expect(map(lambda d: d['violationCount'], full_data)).to_be_like([5, 12, 21]) expect(map(lambda d: d['reviewPercentage'], full_data)).to_be_like([33.33, 66.67, 100.0]) expect(map(lambda d: d['errorPercentage'], full_data)).to_be_like([0.0, 50.0, 33.33]) expect(map(lambda d: d['averageResponseTime'], full_data)).to_be_like([0.25, 0.5, 0.75])
def test_can_create_request(self): request = RequestFactory.create() expect(str(request)).to_equal('http://g1.globo.com (301)') expect(request.id).not_to_be_null() expect(request.domain_name).to_equal('g1.globo.com') expect(request.url).to_equal('http://g1.globo.com') expect(request.effective_url).to_equal('http://g1.globo.com/') expect(request.status_code).to_equal(301) expect(request.response_time).to_equal(0.23) expect(request.completed_date).to_equal(date(2013, 2, 12)) expect(request.review_url).to_equal('http://globo.com/')
def test_can_create_request(self): request = RequestFactory.create() expect(str(request)).to_equal('http://g1.globo.com (301)') expect(request.id).not_to_be_null() expect(request.domain_name).to_equal('g1.globo.com') expect(request.url).to_equal('http://g1.globo.com') expect(request.effective_url).to_equal('http://g1.globo.com/') expect(request.status_code).to_equal(301) expect(request.response_time).to_equal(0.23) expect(request.completed_date).to_equal(date(2013, 2, 12)) expect(request.review_url).to_equal('http://globo.com/')
def test_can_get_domains_details(self): self.db.query(Domain).delete() details = Domain.get_domains_details(self.db) expect(details).to_length(0) domain = DomainFactory.create(name='domain-1.com', url='http://domain-1.com/') domain2 = DomainFactory.create(name='domain-2.com', url='http://domain-2.com/') DomainFactory.create() page = PageFactory.create(domain=domain) page2 = PageFactory.create(domain=domain) page3 = PageFactory.create(domain=domain2) ReviewFactory.create(domain=domain, page=page, is_active=True, number_of_violations=20) ReviewFactory.create(domain=domain, page=page2, is_active=True, number_of_violations=10) ReviewFactory.create(domain=domain2, page=page3, is_active=True, number_of_violations=30) RequestFactory.create(status_code=200, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=304, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=400, domain_name=domain.name, response_time=0.25) RequestFactory.create(status_code=403, domain_name=domain.name, response_time=0.35) RequestFactory.create(status_code=404, domain_name=domain.name, response_time=0.25) details = Domain.get_domains_details(self.db) expect(details).to_length(3) expect(details[0]).to_length(10) expect(details[0]['url']).to_equal('http://domain-1.com/') expect(details[0]['name']).to_equal('domain-1.com') expect(details[0]['violationCount']).to_equal(30) expect(details[0]['pageCount']).to_equal(2) expect(details[0]['reviewCount']).to_equal(2) expect(details[0]['reviewPercentage']).to_equal(100.0) expect(details[0]['errorPercentage']).to_equal(60.0) expect(details[0]['is_active']).to_be_true() expect(details[0]['averageResponseTime']).to_equal(0.3)
def test_can_get_requests_by_status_count(self): for i in range(4): RequestFactory.create(domain_name='globo.com', status_code=200) total = Request.get_requests_by_status_count( 'globo.com', 200, self.db ) expect(total).to_equal(4) invalid_domain = Request.get_requests_by_status_code( 'g1.globo.com', 200, self.db ) expect(invalid_domain).to_equal([]) invalid_code = Request.get_requests_by_status_code( 'globo.com', 2300, self.db ) expect(invalid_code).to_equal([])
def test_can_get_requests_by_status_count(self): for i in range(4): RequestFactory.create(domain_name='globo.com', status_code=200) total = Request.get_requests_by_status_count( 'globo.com', 200, self.db ) expect(total).to_equal(4) invalid_domain = Request.get_requests_by_status_code( 'g1.globo.com', 200, self.db ) expect(invalid_domain).to_equal([]) invalid_code = Request.get_requests_by_status_code( 'globo.com', 2300, self.db ) expect(invalid_code).to_equal([])
def test_can_get_requests_count_by_status(self): utcnow = datetime.utcnow() DomainFactory.create(name='globo.com') DomainFactory.create(name='globoesporte.com') DomainFactory.create(name='domain3.com') for i in range(3): RequestFactory.create( status_code=200, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globoesporte.com' ) RequestFactory.create( status_code=599, completed_date=utcnow.date() - timedelta(days=i), ) self.db.flush() counts = Request.get_requests_count_by_status(self.db) expect(counts).to_equal({ '_all': [(200, 3), (404, 6)], u'globo.com': [(200, 3), (404, 3)], u'domain3.com': [], u'globoesporte.com': [(404, 3)] })
def test_can_get_requests_count_by_status(self): utcnow = datetime.utcnow() DomainFactory.create(name='globo.com') DomainFactory.create(name='globoesporte.com') DomainFactory.create(name='domain3.com') for i in range(3): RequestFactory.create( status_code=200, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globoesporte.com' ) RequestFactory.create( status_code=599, completed_date=utcnow.date() - timedelta(days=i), ) self.db.flush() counts = Request.get_requests_count_by_status(self.db) expect(counts).to_equal({ '_all': [(200, 3), (404, 6)], u'globo.com': [(200, 3), (404, 3)], u'domain3.com': [], u'globoesporte.com': [(404, 3)] })
def test_get_requests_in_last_day(self): utcnow = datetime.utcnow().date() for i in range(3): RequestFactory.create( status_code=200, completed_date=utcnow - timedelta(days=1) ) RequestFactory.create( status_code=404, completed_date=utcnow - timedelta(days=i) ) RequestFactory.create( status_code=599, completed_date=utcnow - timedelta(days=i + 1) ) self.db.flush() response = yield self.http_client.fetch(self.get_url('/requests-in-last-day/')) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([ { 'statusCode': 200, 'statusCodeTitle': 'OK', 'count': 3 }, { 'statusCode': 404, 'statusCodeTitle': 'Not Found', 'count': 2 }, { 'statusCode': 599, 'statusCodeTitle': 'Tornado Timeout', 'count': 1 } ])
def test_can_get_latest_failed_responses(self): self.db.query(Request).delete() utcnow = datetime.utcnow() DomainFactory.create(name='globo.com') DomainFactory.create(name='globoesporte.com') DomainFactory.create(name='domain3.com') for i in range(3): RequestFactory.create( status_code=200, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globo.com' ) RequestFactory.create( status_code=404, completed_date=utcnow.date() - timedelta(days=i), domain_name='globoesporte.com' ) RequestFactory.create( status_code=599, completed_date=utcnow.date() - timedelta(days=i), domain_name='g1.globo.com' ) self.db.flush() response = yield self.authenticated_fetch( '/last-requests/failed-responses/' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([ {u'count': 3, u'statusCodeTitle': u'OK', u'statusCode': 200}, {u'count': 6, u'statusCodeTitle': u'Not Found', u'statusCode': 404} ]) response = yield self.authenticated_fetch( '/last-requests/failed-responses/?domain_filter=globo.com' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([ {u'count': 3, u'statusCodeTitle': u'OK', u'statusCode': 200}, {u'count': 3, u'statusCodeTitle': u'Not Found', u'statusCode': 404} ]) response = yield self.authenticated_fetch( '/last-requests/failed-responses/?domain_filter=globoesporte.com' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([ {u'count': 3, u'statusCodeTitle': u'Not Found', u'statusCode': 404} ]) response = yield self.authenticated_fetch( '/last-requests/failed-responses/?domain_filter=g1.globo.com' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([]) response = yield self.authenticated_fetch( '/last-requests/failed-responses/?domain_filter=domain3.com' ) expect(response.code).to_equal(200) expect(loads(response.body)).to_be_like([])