def test_to_dict(self): page_id = uuid4() review_id = uuid4() page = PageFactory.build(uuid=page_id) review = ReviewFactory.build(page=page, uuid=review_id) key1 = KeyFactory.create(name='some.random.key1') review.add_violation(key1, 'b', 100, review.domain) key2 = KeyFactory.create(name='some.random.key2') review.add_fact(key2, 'b') fact_definitions = {'some.random.key2': {}} violation_definitions = {'some.random.key1': {}} expect(review.to_dict(fact_definitions, violation_definitions)).to_be_like({ 'domain': review.domain.name, 'uuid': str(review_id), 'completedAt': None, 'facts': [ {'value': 'b', 'key': 'some.random.key2', 'unit': 'value', 'title': 'unknown', 'category': 'unknown'} ], 'violations': [ {'points': 100, 'key': 'some.random.key1', 'description': 'b', 'title': 'undefined', 'category': 'undefined'} ], 'page': { 'url': page.url, 'lastModified': None, 'expires': None, 'uuid': str(page_id), 'score': 0.0 }, 'createdAt': review.created_date, 'isComplete': False })
def test_can_append_facts(self): review = ReviewFactory.build() expect(review.facts).to_length(0) key = KeyFactory.create(name='a') review.add_fact(key, 'b') expect(review.facts).to_length(1) expect(review.facts[0].key.name).to_equal('a') expect(review.facts[0].value).to_equal('b')
def test_can_append_violations(self): review = ReviewFactory.build() expect(review.violations).to_length(0) key = KeyFactory.create(name='a') review.add_violation(key, 'b', 100, review.domain) expect(review.violations).to_length(1) expect(review.violations[0].key.name).to_equal('a') expect(review.violations[0].value).to_equal('b') expect(review.violations[0].points).to_equal(100)
def test_cant_append_violations_after_complete(self): review = ReviewFactory.build() expect(review.facts).to_length(0) review.is_complete = True try: key = KeyFactory.create(name='a') review.add_violation(key, 'b', 10, review.domain) except ValueError: err = sys.exc_info()[1] expect(err).to_have_an_error_message_of("Can't add anything to a completed review.") else: assert False, 'Should not have gotten this far'
def test_cant_append_violations_after_complete(self): review = ReviewFactory.build() expect(review.facts).to_length(0) review.is_complete = True try: key = KeyFactory.create(name='a') review.add_violation(key, 'b', 10, review.domain) except ValueError: err = sys.exc_info()[1] expect(err).to_have_an_error_message_of( "Can't add anything to a completed review.") else: assert False, 'Should not have gotten this far'
def test_to_dict(self): page_id = uuid4() review_id = uuid4() page = PageFactory.build(uuid=page_id) review = ReviewFactory.build(page=page, uuid=review_id) key1 = KeyFactory.create(name='some.random.key1') review.add_violation(key1, 'b', 100, review.domain) key2 = KeyFactory.create(name='some.random.key2') review.add_fact(key2, 'b') fact_definitions = {'some.random.key2': {}} violation_definitions = {'some.random.key1': {}} expect(review.to_dict(fact_definitions, violation_definitions, _)).to_be_like({ 'domain': review.domain.name, 'uuid': str(review_id), 'completedAt': None, 'facts': [{ 'value': 'b', 'key': 'some.random.key2', 'unit': 'value', 'title': 'unknown', 'category': 'unknown' }], 'violations': [{ 'points': 100, 'key': 'some.random.key1', 'description': 'b', 'title': 'undefined', 'category': 'undefined' }], 'page': { 'url': page.url, 'lastModified': None, 'expires': None, 'uuid': str(page_id), 'score': 0.0 }, 'createdAt': review.created_date, 'isComplete': False })
def test_to_dict(self): page_id = uuid4() review_id = uuid4() page = PageFactory.build(uuid=page_id) review = ReviewFactory.build(page=page, uuid=review_id) key1 = KeyFactory.create(name="some.random.key1") review.add_violation(key1, "b", 100, review.domain) key2 = KeyFactory.create(name="some.random.key2") review.add_fact(key2, "b") fact_definitions = {"some.random.key2": {}} violation_definitions = {"some.random.key1": {}} expect(review.to_dict(fact_definitions, violation_definitions, _)).to_be_like( { "domain": review.domain.name, "uuid": str(review_id), "completedAt": None, "facts": [ { "value": "b", "key": "some.random.key2", "unit": "value", "title": "unknown", "category": "unknown", } ], "violations": [ { "points": 100, "key": "some.random.key1", "description": "b", "title": "undefined", "category": "undefined", } ], "page": {"url": page.url, "lastModified": None, "expires": None, "uuid": str(page_id), "score": 0.0}, "createdAt": review.created_date, "isComplete": False, } )
def test_review_has_failed(self): review = ReviewFactory.build() review.failure_message = "Invalid Page" expect(review.failed).to_be_true()