예제 #1
0
    def testVerifyNoMoreInteractionsWorks(self, verification):
        rex = Dog()
        expect(rex, **verification).bark('Miau').thenReturn('Wuff')
        rex.bark('Miau')
        rex.bark('Miau')

        verifyNoMoreInteractions(rex)
예제 #2
0
    def test_should_compute_tags_similarity(self):
        text_processor = mock()
        similarity_measure_factory = mock()
        when(similarity_measure_factory).jaccard().thenReturn(
            JaccardCoefficient())

        authored_document = AuthoredDocument(
            "1", {
                "title": "this is a title",
                "body": "this is my second blog, which is much better",
                "tags": ["second", "blog"]
            },
            text_processor=text_processor,
            similarity_measure_factory=similarity_measure_factory)
        other_authored_document = AuthoredDocument("2", {
            "title":
            "this is a another title blog",
            "body":
            "We are surrounded by objects in the real world. These can be cars, houses, etc. This is my better second blog",
            "tags": ["objects", "blog", "cars", "houses"]
        },
                                                   text_processor=
                                                   text_processor,
                                                   similarity_measure_factory=
                                                   similarity_measure_factory)

        score = authored_document.tags_similarity_score(
            other_authored_document)

        self.assertEqual(score, 0.2000)
        verify(similarity_measure_factory).jaccard()
        verifyNoMoreInteractions(text_processor)
        verifyNoMoreInteractions(similarity_measure_factory)
 def assert_login_setup_service_for_user(_):
     verify(self.portal).login(ANY(), None, IResource)
     verify(self.services_factory).is_logged_in('some_user_uuid')
     verifyNoMoreInteractions(self.services_factory)
     interstitial_js_in_template = '<script src="startup-assets/Interstitial.js"></script>'
     self.assertIn(interstitial_js_in_template, self.request.written[0])
     self.assertTrue(self.resource.is_logged_in(self.request))
예제 #4
0
    def test_should_compute_title_similarity(self):
        text_processor = mock()
        similarity_measure_factory = mock()
        when(similarity_measure_factory).jaccard().thenReturn(
            JaccardCoefficient())
        when(text_processor).tokenize("this is a title").thenReturn(["title"])
        when(text_processor).tokenize(
            "this is a another title blog").thenReturn(["title", "blog"])

        authored_document = AuthoredDocument(
            "1", {
                "title": "this is a title",
                "body": "",
                "tags": []
            },
            text_processor=text_processor,
            similarity_measure_factory=similarity_measure_factory)
        other_authored_document = AuthoredDocument(
            "2", {
                "title": "this is a another title blog",
                "body": "",
                "tags": []
            },
            text_processor=text_processor,
            similarity_measure_factory=similarity_measure_factory)

        score = authored_document.title_similarity_score(
            other_authored_document)

        self.assertEqual(score, 0.5)
        verify(similarity_measure_factory).jaccard()
        verify(text_processor).tokenize("this is a title")
        verify(text_processor).tokenize("this is a another title blog")
        verifyNoMoreInteractions(text_processor)
        verifyNoMoreInteractions(similarity_measure_factory)
 def assert_login_setup_service_for_user(_):
     verify(self.portal).login(ANY(), None, IResource)
     verify(self.services_factory).is_logged_in('some_user_uuid')
     verifyNoMoreInteractions(self.services_factory)
     interstitial_js_in_template = '<script src="startup-assets/Interstitial.js"></script>'
     self.assertIn(interstitial_js_in_template, self.request.written[0])
     self.assertTrue(self.resource.is_logged_in(self.request))
예제 #6
0
    def test_register_should_call_listener_for_existent_reference_when_there_is_one_selector(self):
        reference = 'REFERENCE'
        selection = [reference]

        self.manager.register(self.listener_callable_mock, selection)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
예제 #7
0
    def testVerifyNoMoreInteractionsWorks(self, verification):
        rex = Dog()
        expect(rex, **verification).bark('Miau').thenReturn('Wuff')
        rex.bark('Miau')
        rex.bark('Miau')

        verifyNoMoreInteractions(rex)
예제 #8
0
    def test_register_synched_should_call_listener_for_each_existent_combination_of_references_when_there_are_multiple_selectors(
            self):
        reference1a = 'X1'
        reference2a = 'X2'
        reference3a = 'X3'
        selection_a = [reference1a, reference2a, reference3a]

        reference1b = 'R1'
        reference2b = 'R2'
        reference3b = 'R3'

        selection_b = mock()
        (when(selection_b).__iter__().thenReturn(
            [reference1b, reference2b, reference3b].__iter__()))
        when(selection_b).intersection('{%s}' % reference1a).thenReturn(
            [reference1b])
        when(selection_b).intersection('{%s}' % reference2a).thenReturn(
            [reference2b])
        when(selection_b).intersection('{%s}' % reference3a).thenReturn(
            [reference3b])

        self.manager.register_synched(
            self.listener_callable_mock,
            [selection_a, utils.IterableMock(selection_b)])
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference3a, reference3b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #9
0
 def testPrintsUnwantedInteraction(self):
   theMock = mock()
   theMock.foo(1, 'foo')
   try:
     verifyNoMoreInteractions(theMock)
   except VerificationError, e:
     self.assertEquals("\nUnwanted interaction: foo(1, 'foo')", str(e))
예제 #10
0
    def testExpectWitoutVerification(self):
        rex = Dog()
        expect(rex).bark('Miau').thenReturn('Wuff')
        verifyNoMoreInteractions(rex)

        rex.bark('Miau')
        with pytest.raises(VerificationError):
            verifyNoMoreInteractions(rex)
예제 #11
0
 def testVerifies(self):
   mockOne, mockTwo = mock(), mock()
   mockOne.foo()
   mockTwo.bar()
   
   verify(mockOne).foo()
   verify(mockTwo).bar()
   verifyNoMoreInteractions(mockOne, mockTwo)    
예제 #12
0
    def testVerifies(self):
        mockOne, mockTwo = mock(), mock()
        mockOne.foo()
        mockTwo.bar()

        verify(mockOne).foo()
        verify(mockTwo).bar()
        verifyNoMoreInteractions(mockOne, mockTwo)
예제 #13
0
    def test_register_should_call_listener_for_existent_reference_when_there_is_one_selector(
            self):
        reference = 'REFERENCE'
        selection = [reference]

        self.manager.register(self.listener_callable_mock, selection)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
예제 #14
0
    def testExpectWitoutVerification(self):
        rex = Dog()
        expect(rex).bark('Miau').thenReturn('Wuff')
        verifyNoMoreInteractions(rex)

        rex.bark('Miau')
        with pytest.raises(VerificationError):
            verifyNoMoreInteractions(rex)
예제 #15
0
    def test_register_synched_should_call_listener_for_each_existent_reference_when_there_is_one_selector(self):
        reference1 = 'REFERENCE1'
        reference2 = 'REFERENCE2'
        selection = [[reference1, reference2]]

        self.manager.register_synched(self.listener_callable_mock, selection)
        verify(self.listener_mock, times=1).__call__(reference1)
        verify(self.listener_mock, times=1).__call__(reference2)
        verifyNoMoreInteractions(self.listener_mock)
예제 #16
0
    def test_register_synched_should_call_listener_for_each_existent_reference_when_there_is_one_selector(
            self):
        reference1 = 'REFERENCE1'
        reference2 = 'REFERENCE2'
        selection = [[reference1, reference2]]

        self.manager.register_synched(self.listener_callable_mock, selection)
        verify(self.listener_mock, times=1).__call__(reference1)
        verify(self.listener_mock, times=1).__call__(reference2)
        verifyNoMoreInteractions(self.listener_mock)
    def test_send_mail_does_not_delete_draft_on_error(self):
        when(InputMail).from_dict(ANY()).thenReturn('inputmail')

        deferred_failure = defer.fail(Exception("Assume sending mail failed"))
        when(self.mail_sender).sendmail(ANY()).thenReturn(deferred_failure)

        try:
            yield self.mail_service.send_mail({'ident': '12'})
            self.fail("send_mail is expected to raise if underlying call fails")
        except:
            verify(self.mail_sender).sendmail("inputmail")
            verifyNoMoreInteractions(self.drafts)
예제 #18
0
 def test_waits_for_consensus_on_vote_before_leader_elected(self):
     peer = mock()
     when(peer).get(self.election.VOTE_KEY).thenReturn('a')
     self.gossiper.live_peers = [peer]
     when(peer).keys().thenReturn([self.election.VOTE_KEY])
     when(self.gossiper).get(self.election.VOTE_KEY).thenReturn('b')
     self.election.value_changed('peer-a', self.election.VOTE_KEY, 'a')
     verify(self.gossiper).get(self.election.VOTE_KEY)
     verify(peer).keys()
     verify(peer).get(self.election.VOTE_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
예제 #19
0
 def test_waits_for_consensus_on_leader_before_proclaiming(self):
     peer = mock()
     when(peer).get(self.election.LEADER_KEY).thenReturn('a')
     when(peer).keys().thenReturn([self.election.LEADER_KEY])
     self.gossiper.live_peers = [peer]
     when(self.gossiper).get(self.election.LEADER_KEY).thenReturn('b')
     self.election.value_changed('peer', self.election.LEADER_KEY, 'a')
     verify(self.gossiper).get(self.election.LEADER_KEY)
     verify(peer).keys()
     verify(peer).get(self.election.LEADER_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
예제 #20
0
 def test_waits_for_consensus_on_leader_before_proclaiming(self):
     peer = mock()
     when(peer).get(self.election.LEADER_KEY).thenReturn('a')
     when(peer).keys().thenReturn([self.election.LEADER_KEY])
     self.gossiper.live_peers = [peer]
     when(self.gossiper).get(self.election.LEADER_KEY).thenReturn('b')
     self.election.value_changed('peer', self.election.LEADER_KEY, 'a')
     verify(self.gossiper).get(self.election.LEADER_KEY)
     verify(peer).keys()
     verify(peer).get(self.election.LEADER_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
예제 #21
0
 def test_assign_resources_leaves_current_assignment_state(self):
     when(self.keystore).keys('assign:*').thenReturn(['assign:A'])
     when(self.keystore).get('assign:A').thenReturn('a')
     when(self.keystore).keys('resource:*').thenReturn(['resource:A'])
     when(self.keystore).get('resource:A').thenReturn(
         (0, 'please-assign', 'address'))
     self.computer.assign_resources(['a'])
     verify(self.keystore).keys('assign:*')
     verify(self.keystore).get('assign:A')
     verify(self.keystore).keys('resource:*')
     verify(self.keystore).get('resource:A')
     verifyNoMoreInteractions(self.keystore)
예제 #22
0
    def test_get_should_use_callableFactory_to_populte_resultant_dictiornary(
            self):
        self.tag_mappings.update({'A': set(['a1', 'a2', 'a3'])})
        when(self.callable_factory).__call__('a1').thenReturn('a1')
        when(self.callable_factory).__call__('a2').thenReturn('a2')
        when(self.callable_factory).__call__('a3').thenReturn('a3')

        self.tagSelection.union('A').get()

        verify(self.callable_factory, times=1).__call__('a1')
        verify(self.callable_factory, times=1).__call__('a2')
        verify(self.callable_factory, times=1).__call__('a3')
        verifyNoMoreInteractions(self.callable_factory)
예제 #23
0
 def test_leader_elected_when_consensus_reached_on_votes(self):
     peer = mock()
     when(peer).get(self.election.VOTE_KEY).thenReturn('a')
     when(peer).keys().thenReturn([self.election.VOTE_KEY])
     self.gossiper.live_peers = [peer]
     when(self.gossiper).get(self.election.VOTE_KEY).thenReturn('a')
     self.election.value_changed('peer-a', self.election.VOTE_KEY, 'a')
     verify(self.gossiper).get(self.election.VOTE_KEY)
     verify(self.gossiper).set(self.election.LEADER_KEY, 'a')
     verify(peer).keys()
     verify(peer).get(self.election.VOTE_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
    def test_send_mail_does_not_delete_draft_on_error(self):
        when(InputMail).from_dict(ANY()).thenReturn('inputmail')

        deferred_failure = defer.fail(Exception("Assume sending mail failed"))
        when(self.mail_sender).sendmail(ANY()).thenReturn(deferred_failure)

        try:
            yield self.mail_service.send_mail({'ident': '12'})
            self.fail(
                "send_mail is expected to raise if underlying call fails")
        except:
            verify(self.mail_sender).sendmail("inputmail")
            verifyNoMoreInteractions(self.drafts)
예제 #25
0
 def test_leader_elected_when_consensus_reached_on_votes(self):
     peer = mock()
     when(peer).get(self.election.VOTE_KEY).thenReturn('a')
     when(peer).keys().thenReturn([self.election.VOTE_KEY])
     self.gossiper.live_peers = [peer]
     when(self.gossiper).get(self.election.VOTE_KEY).thenReturn('a')
     self.election.value_changed('peer-a', self.election.VOTE_KEY, 'a')
     verify(self.gossiper).get(self.election.VOTE_KEY)
     verify(self.gossiper).set(self.election.LEADER_KEY, 'a')
     verify(peer).keys()
     verify(peer).get(self.election.VOTE_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
예제 #26
0
 def test_waits_for_consensus_on_vote_before_leader_elected(self):
     peer = mock()
     when(peer).get(self.election.VOTE_KEY).thenReturn('a')
     self.gossiper.live_peers = [peer]
     when(peer).keys().thenReturn([self.election.VOTE_KEY])
     when(self.gossiper).get(self.election.VOTE_KEY).thenReturn('b')
     self.election.value_changed('peer-a', self.election.VOTE_KEY,
                                 'a')
     verify(self.gossiper).get(self.election.VOTE_KEY)
     verify(peer).keys()
     verify(peer).get(self.election.VOTE_KEY)
     verifyNoMoreInteractions(self.gossiper)
     verifyNoMoreInteractions(peer)
 def test_set_selenium_timeout_only_affects_open_browsers(self):
     bm = _BrowserManagementKeywords()
     first_browser, second_browser = mock(), mock()
     bm._cache.register(first_browser)
     bm._cache.close()
     verify(first_browser).quit()
     bm._cache.register(second_browser)
     bm.set_selenium_timeout("10 seconds")
     verify(second_browser).set_script_timeout(10.0)
     bm._cache.close_all()
     verify(second_browser).quit()
     bm.set_selenium_timeout("20 seconds")
     verifyNoMoreInteractions(first_browser)
     verifyNoMoreInteractions(second_browser)
예제 #28
0
    def test_register_should_call_listener_for_late_reference_when_there_is_one_selector(self):
        reference = 'REFERENCE'

        selection = mock()
        when(selection).__iter__().thenReturn([].__iter__()).thenReturn([reference].__iter__())
        when(selection).is_elegible(reference).thenReturn(True)

        self.manager.register(self.listener_callable_mock, utils.IterableMock(selection))
        verify(self.listener_mock, times=0).__call__(anyx())
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
예제 #29
0
 def test_set_selenium_timeout_only_affects_open_browsers(self):
     bm = BrowserManagementKeywords()
     first_browser, second_browser = mock(), mock()
     bm._cache.register(first_browser)
     bm._cache.close()
     verify(first_browser).quit()
     bm._cache.register(second_browser)
     bm.set_selenium_timeout("10 seconds")
     verify(second_browser).set_script_timeout(10.0)
     bm._cache.close_all()
     verify(second_browser).quit()
     bm.set_selenium_timeout("20 seconds")
     verifyNoMoreInteractions(first_browser)
     verifyNoMoreInteractions(second_browser)
예제 #30
0
    def test_get_should_use_callableFactory_to_populte_resultant_dictiornary(self):
        self.tag_mappings.update({
                                 'A': set(['a1', 'a2', 'a3'])
                                 })
        when(self.callable_factory).__call__('a1').thenReturn('a1')
        when(self.callable_factory).__call__('a2').thenReturn('a2')
        when(self.callable_factory).__call__('a3').thenReturn('a3')

        self.tagSelection.union('A').get()

        verify(self.callable_factory, times=1).__call__('a1')
        verify(self.callable_factory, times=1).__call__('a2')
        verify(self.callable_factory, times=1).__call__('a3')
        verifyNoMoreInteractions(self.callable_factory)
예제 #31
0
    def test_register_should_call_listener_for_each_existent_combination_of_references_when_there_are_multiple_selectors(self):
        reference1a = 'REFERENCE1a'
        reference2a = 'REFERENCE2a'
        selection_a = [reference1a, reference2a]

        reference1b = 'REFERENCE1b'
        reference2b = 'REFERENCE2b'
        selection_b = [reference1b, reference2b]

        self.manager.register(self.listener_callable_mock, selection_a, selection_b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #32
0
def test_set_selenium_timeout_only_affects_open_browsers():
    ctx = mock()
    ctx.timeout = 5.0
    _drivers = mock()
    ctx._drivers = _drivers
    first_browser, second_browser = mock(), mock()
    ctx._drivers.active_drivers = [first_browser, second_browser]
    bm = BrowserManagementKeywords(ctx)
    bm.set_selenium_timeout("10 seconds")
    verify(first_browser).set_script_timeout(10.0)
    verify(second_browser).set_script_timeout(10.0)
    ctx._drivers.active_drivers = []
    bm.set_selenium_timeout("20 seconds")
    verifyNoMoreInteractions(first_browser)
    verifyNoMoreInteractions(second_browser)
 def test_set_selenium_timeout_only_affects_open_browsers(self):
     ctx = mock()
     ctx.timeout = 5.0
     _drivers = mock()
     ctx._drivers = _drivers
     first_browser, second_browser = mock(), mock()
     ctx._drivers.active_drivers = [first_browser, second_browser]
     bm = BrowserManagementKeywords(ctx)
     bm.set_selenium_timeout("10 seconds")
     verify(first_browser).set_script_timeout(10.0)
     verify(second_browser).set_script_timeout(10.0)
     ctx._drivers.active_drivers = []
     bm.set_selenium_timeout("20 seconds")
     verifyNoMoreInteractions(first_browser)
     verifyNoMoreInteractions(second_browser)
     unstub()
예제 #34
0
파일: test_dbaas.py 프로젝트: ReVolly/trove
    def test_secure_with_mycnf_error(self):
        mock_conn = mock_sql_connection()
        when(mock_conn).execute(any()).thenReturn(None)
        when(utils).execute_with_timeout("sudo", any(str), "stop").thenReturn(None)
        # skip writing the file for now
        when(os.path).isfile(any()).thenReturn(False)
        mock_status = mock()
        when(mock_status).wait_for_real_status_to_change_to(any(), any(), any()).thenReturn(True)
        app = MySqlApp(mock_status)

        self.assertRaises(TypeError, app.secure, None)

        verify(mock_conn, atleast=2).execute(any())
        inorder.verify(mock_status).wait_for_real_status_to_change_to(
            rd_instance.ServiceStatuses.SHUTDOWN, any(), any()
        )
        verifyNoMoreInteractions(mock_status)
 def test_set_selenium_timeout_only_affects_open_browsers(self):
     ctx = mock()
     ctx.timeout = 5.0
     _browsers = mock()
     ctx._browsers = _browsers
     first_browser, second_browser = mock(), mock()
     when(_browsers).get_open_browsers().thenReturn(
         [first_browser, second_browser])
     bm = BrowserManagementKeywords(ctx)
     bm.set_selenium_timeout("10 seconds")
     verify(first_browser).set_script_timeout(10.0)
     verify(second_browser).set_script_timeout(10.0)
     when(_browsers).get_open_browsers().thenReturn([])
     bm.set_selenium_timeout("20 seconds")
     verifyNoMoreInteractions(first_browser)
     verifyNoMoreInteractions(second_browser)
     unstub()
예제 #36
0
    def test_register_should_call_listener_for_each_existent_combination_of_references_when_there_are_multiple_selectors(
            self):
        reference1a = 'REFERENCE1a'
        reference2a = 'REFERENCE2a'
        selection_a = [reference1a, reference2a]

        reference1b = 'REFERENCE1b'
        reference2b = 'REFERENCE2b'
        selection_b = [reference1b, reference2b]

        self.manager.register(self.listener_callable_mock, selection_a,
                              selection_b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #37
0
    def test_register_should_call_listener_for_late_reference_when_there_is_one_selector(
            self):
        reference = 'REFERENCE'

        selection = mock()
        when(selection).__iter__().thenReturn([].__iter__()).thenReturn(
            [reference].__iter__())
        when(selection).is_elegible(reference).thenReturn(True)

        self.manager.register(self.listener_callable_mock,
                              utils.IterableMock(selection))
        verify(self.listener_mock, times=0).__call__(anyx())
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
예제 #38
0
    def test_secure_with_mycnf_error(self):
        mock_conn = mock_sql_connection()
        when(mock_conn).execute(any()).thenReturn(None)
        when(utils).execute_with_timeout("sudo", any(str), "stop").thenReturn(
            None)
        # skip writing the file for now
        when(os.path).isfile(any()).thenReturn(False)
        mock_status = mock()
        when(mock_status).wait_for_real_status_to_change_to(
            any(), any(), any()).thenReturn(True)
        app = MySqlApp(mock_status)

        self.assertRaises(TypeError, app.secure, None)

        verify(mock_conn, atleast=2).execute(any())
        inorder.verify(mock_status).wait_for_real_status_to_change_to(
            rd_instance.ServiceStatuses.SHUTDOWN, any(), any())
        verifyNoMoreInteractions(mock_status)
예제 #39
0
    def test_should_compute_body_similarity(self):
        text_processor = mock()
        similarity_measure_factory = mock()
        when(similarity_measure_factory).cosine().thenReturn(
            CosineSimilarity())
        when(text_processor).tokenize(
            "this is my second blog, which is much better").thenReturn(
                ["second", "blog"])
        when(text_processor).tokenize(
            "We are surrounded by objects in the real world. These can be cars, houses, etc. This is my better second blog") \
            .thenReturn(["surrounded", "objects", "real", "world", "cars", "houses", "second", "blog"])

        authored_document = AuthoredDocument(
            "1", {
                "title": "this is a title",
                "body": "this is my second blog, which is much better",
                "tags": []
            },
            text_processor=text_processor,
            similarity_measure_factory=similarity_measure_factory)
        other_authored_document = AuthoredDocument("2", {
            "title": "this is a another title blog",
            "body":
            "We are surrounded by objects in the real world. These can be cars, houses, etc. This is my better second blog",
            "tags": []
        },
                                                   text_processor=
                                                   text_processor,
                                                   similarity_measure_factory=
                                                   similarity_measure_factory)

        score = authored_document.body_similarity_score(
            other_authored_document)

        verify(similarity_measure_factory).cosine()
        verify(text_processor).tokenize(
            "this is my second blog, which is much better")
        verify(text_processor).tokenize(
            "We are surrounded by objects in the real world. These can be cars, houses, etc. This is my better second blog"
        )
        verifyNoMoreInteractions(text_processor)
        verifyNoMoreInteractions(similarity_measure_factory)
 def test_set_selenium_timeout_only_affects_open_browsers(self):
     ctx = mock()
     ctx.timeout = 5.0
     _browsers = mock()
     ctx._browsers = _browsers
     first_browser, second_browser = mock(), mock()
     when(_browsers).get_open_browsers().thenReturn(
         [first_browser, second_browser]
     )
     bm = BrowserManagementKeywords(ctx)
     bm.set_selenium_timeout("10 seconds")
     verify(first_browser).set_script_timeout(10.0)
     verify(second_browser).set_script_timeout(10.0)
     when(_browsers).get_open_browsers().thenReturn(
         []
     )
     bm.set_selenium_timeout("20 seconds")
     verifyNoMoreInteractions(first_browser)
     verifyNoMoreInteractions(second_browser)
     unstub()
예제 #41
0
    def test_register_should_call_listener_for_each_late_reference_when_there_is_one_selector(
            self):
        reference1 = 'REFERENCE1'
        reference2 = 'REFERENCE2'
        reference3 = 'REFERENCE3'

        selection = mock()
        (when(selection).__iter__().thenReturn(
            [reference1].__iter__()).thenReturn([
                reference1, reference2
            ].__iter__()).thenReturn([reference1, reference2,
                                      reference3].__iter__()))
        when(selection).is_elegible(reference2).thenReturn(True)
        when(selection).is_elegible(reference3).thenReturn(True)

        self.manager.register(self.listener_callable_mock,
                              utils.IterableMock(selection))
        verify(self.listener_mock, times=1).__call__(reference1)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2)
        verify(self.listener_mock, times=1).__call__(reference2)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference3)
        verify(self.listener_mock, times=1).__call__(reference3)
        verifyNoMoreInteractions(self.listener_mock)
예제 #42
0
    def test_register_should_call_listener_for_each_late_combination_of_references_when_there_are_multiple_selectors(self):
        reference1a = 'REFERENCE1a'
        reference2a = 'REFERENCE2a'
        reference1b = 'REFERENCE1b'
        reference2b = 'REFERENCE2b'

        selection_a = mock()
        (when(selection_a).__iter__()
            .thenReturn([reference1a].__iter__())
            .thenReturn([reference1a, reference2a].__iter__())
            .thenReturn([reference1a, reference2a].__iter__()))
        when(selection_a).is_elegible(reference2a).thenReturn(True)

        selection_b = mock()
        (when(selection_b).__iter__()
            .thenReturn([reference1b].__iter__())
            .thenReturn([reference1b].__iter__())
            .thenReturn([reference1b, reference2b].__iter__()))
        when(selection_b).is_elegible(reference2b).thenReturn(True)

        self.manager.register(self.listener_callable_mock, utils.IterableMock(selection_a), utils.IterableMock(selection_b))
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2a)
        verify(self.listener_mock, times=1).__call__(reference2a, reference1b)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #43
0
    def test_register_should_call_listener_for_each_late_combination_of_references_when_there_are_multiple_selectors(
            self):
        reference1a = 'REFERENCE1a'
        reference2a = 'REFERENCE2a'
        reference1b = 'REFERENCE1b'
        reference2b = 'REFERENCE2b'

        selection_a = mock()
        (when(selection_a).__iter__().thenReturn(
            [reference1a].__iter__()).thenReturn([
                reference1a, reference2a
            ].__iter__()).thenReturn([reference1a, reference2a].__iter__()))
        when(selection_a).is_elegible(reference2a).thenReturn(True)

        selection_b = mock()
        (when(selection_b).__iter__().thenReturn([
            reference1b
        ].__iter__()).thenReturn([reference1b].__iter__()).thenReturn(
            [reference1b, reference2b].__iter__()))
        when(selection_b).is_elegible(reference2b).thenReturn(True)

        self.manager.register(self.listener_callable_mock,
                              utils.IterableMock(selection_a),
                              utils.IterableMock(selection_b))
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2a)
        verify(self.listener_mock, times=1).__call__(reference2a, reference1b)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2b)
        verify(self.listener_mock, times=1).__call__(reference1a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #44
0
    def test_register_synched_should_call_listener_for_each_existent_combination_of_references_when_there_are_multiple_selectors(self):
        reference1a = 'X1'
        reference2a = 'X2'
        reference3a = 'X3'
        selection_a = [reference1a, reference2a, reference3a]

        reference1b = 'R1'
        reference2b = 'R2'
        reference3b = 'R3'

        selection_b = mock()
        (when(selection_b).__iter__()
            .thenReturn([reference1b, reference2b, reference3b].__iter__()))
        when(selection_b).intersection('{%s}' % reference1a).thenReturn([reference1b])
        when(selection_b).intersection('{%s}' % reference2a).thenReturn([reference2b])
        when(selection_b).intersection('{%s}' % reference3a).thenReturn([reference3b])

        self.manager.register_synched(self.listener_callable_mock,
                                      [selection_a, utils.IterableMock(selection_b)])
        verify(self.listener_mock, times=1).__call__(reference1a, reference1b)
        verify(self.listener_mock, times=1).__call__(reference2a, reference2b)
        verify(self.listener_mock, times=1).__call__(reference3a, reference3b)
        verifyNoMoreInteractions(self.listener_mock)
예제 #45
0
    def test_register_should_call_listener_for_each_late_reference_when_there_is_one_selector(self):
        reference1 = 'REFERENCE1'
        reference2 = 'REFERENCE2'
        reference3 = 'REFERENCE3'

        selection = mock()
        (when(selection).__iter__().thenReturn([reference1].__iter__())
            .thenReturn([reference1, reference2].__iter__())
            .thenReturn([reference1, reference2, reference3].__iter__()))
        when(selection).is_elegible(reference2).thenReturn(True)
        when(selection).is_elegible(reference3).thenReturn(True)

        self.manager.register(self.listener_callable_mock, utils.IterableMock(selection))
        verify(self.listener_mock, times=1).__call__(reference1)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference2)
        verify(self.listener_mock, times=1).__call__(reference2)
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference3)
        verify(self.listener_mock, times=1).__call__(reference3)
        verifyNoMoreInteractions(self.listener_mock)
 def test_do_stuff(self):
     ''' test do stuff '''
     when(self.hello_world).helloworld(7, 8).thenReturn(1000)
     self.assertEqual(self.foobar.do_stuff(), "hello")
     verify(self.hello_world).helloworld(7, 8)
     verifyNoMoreInteractions(self.hello_world)
예제 #47
0
 def testEnsureWhenGetsNotConfused(self):
     m = mock()
     when(m).foo(1).thenReturn()
     m.foo(1)
     with pytest.raises(VerificationError):
         verifyNoMoreInteractions(m)
예제 #48
0
    def testVerifyNoMoreInteractionsBarksIfUnsatisfied(self, verification):
        rex = Dog()
        expect(rex, **verification).bark('Miau').thenReturn('Wuff')

        with pytest.raises(VerificationError):
            verifyNoMoreInteractions(rex)
예제 #49
0
    def test_register_should_not_call_listener_when_there_is_no_existent_reference(self):
        selection = []

        self.manager.register(self.listener_callable_mock, selection)
        verifyNoMoreInteractions(self.listener_mock)
 def assert_not_removed_from_drafts(_):
     verifyNoMoreInteractions(self.drafts)
 def test_do_stuff_2_or_whatever(self):
     ''' test do stuff '''
     when(self.hello_world).helloworld(7, 8).thenReturn(50)
     self.assertEqual(self.foobar.do_stuff(), "goodbye")
     verify(self.hello_world).helloworld(7, 8)
     verifyNoMoreInteractions(self.hello_world)
예제 #52
0
 def testEnsureWhenGetsNotConfused(self):
     m = mock()
     when(m).foo(1).thenReturn()
     m.foo(1)
     with pytest.raises(VerificationError):
         verifyNoMoreInteractions(m)
예제 #53
0
 def testIfVerifiedVerifyNoMoreInteractionsPasses(self):
     when(Dog).bark('Miau')
     rex = Dog()
     rex.bark('Miau')
     verify(Dog).bark('Miau')
     verifyNoMoreInteractions(Dog)
 def testPrintsUnwantedInteraction(self):
     theMock = mock()
     theMock.foo(1, 'foo')
     with pytest.raises(VerificationError) as exc:
         verifyNoMoreInteractions(theMock)
     assert "\nUnwanted interaction: foo(1, 'foo')" == str(exc.value)
예제 #55
0
 def verify_no_exceptions_logged(self):
     m.verifyNoMoreInteractions(self.logger)
예제 #56
0
 def assert_not_removed_from_drafts(_):
     verifyNoMoreInteractions(self.drafts)
예제 #57
0
 def verify_no_exceptions_logged(self):
     m.verifyNoMoreInteractions(self.logger)
예제 #58
0
 def testNothingVerifiedVerifyNoMoreInteractionsRaises(self):
     when(Dog).bark('Miau')
     rex = Dog()
     rex.bark('Miau')
     with pytest.raises(VerificationError):
         verifyNoMoreInteractions(Dog)
예제 #59
0
    def testVerifyNoMoreInteractionsBarksIfUnsatisfied(self, verification):
        rex = Dog()
        expect(rex, **verification).bark('Miau').thenReturn('Wuff')

        with pytest.raises(VerificationError):
            verifyNoMoreInteractions(rex)