Example #1
0
    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
        })
Example #2
0
    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')
Example #3
0
    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')
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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'
Example #7
0
    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'
Example #8
0
    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
                              })
Example #9
0
    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,
            }
        )
Example #10
0
 def test_review_has_failed(self):
     review = ReviewFactory.build()
     review.failure_message = "Invalid Page"
     expect(review.failed).to_be_true()
Example #11
0
 def test_review_has_failed(self):
     review = ReviewFactory.build()
     review.failure_message = "Invalid Page"
     expect(review.failed).to_be_true()