Пример #1
0
 def test_defer_chain_apply_need_pre_defer_copy(self):
     chain_applies = self._mock_chain_applies()
     port = self._fake_port()
     device2port = {port["device"]: port}
     self.firewall.prepare_port_filter(port)
     with self.firewall.defer_apply():
         self.firewall.remove_port_filter(port)
     chain_applies.assert_has_calls(
         [call.remove({}), call.setup(device2port), call.remove(device2port), call.setup({})]
     )
Пример #2
0
 def test_defer_chain_apply_need_pre_defer_copy(self):
     chain_applies = self._mock_chain_applies()
     port = self._fake_port()
     device2port = {port['device']: port}
     self.firewall.prepare_port_filter(port)
     with self.firewall.defer_apply():
         self.firewall.remove_port_filter(port)
     chain_applies.assert_has_calls([call.remove({}),
                                     call.setup(device2port),
                                     call.remove(device2port),
                                     call.setup({})])
 def test_mock_chain_applies(self):
     chain_applies = self._mock_chain_applies()
     port_prepare = {'device': 'd1', 'mac_address': 'prepare'}
     port_update = {'device': 'd1', 'mac_address': 'update'}
     self.firewall.prepare_port_filter(port_prepare)
     self.firewall.update_port_filter(port_update)
     self.firewall.remove_port_filter(port_update)
     chain_applies.assert_has_calls([call.remove({}),
                                     call.setup({'d1': port_prepare}),
                                     call.remove({'d1': port_prepare}),
                                     call.setup({'d1': port_update}),
                                     call.remove({'d1': port_update}),
                                     call.setup({})])
Пример #4
0
 def test_mock_chain_applies(self):
     chain_applies = self._mock_chain_applies()
     port_prepare = {'device': 'd1', 'mac_address': 'prepare'}
     port_update = {'device': 'd1', 'mac_address': 'update'}
     self.firewall.prepare_port_filter(port_prepare)
     self.firewall.update_port_filter(port_update)
     self.firewall.remove_port_filter(port_update)
     chain_applies.assert_has_calls([call.remove({}),
                                     call.setup({'d1': port_prepare}),
                                     call.remove({'d1': port_prepare}),
                                     call.setup({'d1': port_update}),
                                     call.remove({'d1': port_update}),
                                     call.setup({})])
Пример #5
0
    def test_should_remove_all_repeating_groups(self):
        with patch('app.views.questionnaire.get_answer_store'
                   ) as get_answer_store:
            # Given
            self.launchSurvey('census', 'household')

            # When
            self.post({'permanent-or-family-home-answer': 'No'})

            # Then
            get_answer_store().assert_has_calls([
                call.remove(group_id='who-lives-here-relationship'),
                call.remove(group_id='household-member')
            ])
 def testFillingOrderRemovesWarehouseItemsWhenSufficientStockIsAvailable(self):
     o = Order("milk", 20)
     w = MagicMock(spec=Warehouse)
     w.has_inventory.return_value = True
     
     o.fill(w)
     self.assertEqual(True, call.remove("milk", 20) in w.mock_calls)
 def test_defer_chain_apply_coalesce_simple(self):
     chain_applies = self._mock_chain_applies()
     port = self._fake_port()
     with self.firewall.defer_apply():
         self.firewall.prepare_port_filter(port)
         self.firewall.update_port_filter(port)
         self.firewall.remove_port_filter(port)
     chain_applies.assert_has_calls([call.remove({}), call.setup({})])
Пример #8
0
 def test_defer_chain_apply_coalesce_simple(self):
     chain_applies = self._mock_chain_applies()
     port = self._fake_port()
     with self.firewall.defer_apply():
         self.firewall.prepare_port_filter(port)
         self.firewall.update_port_filter(port)
         self.firewall.remove_port_filter(port)
     chain_applies.assert_has_calls([call.remove({}), call.setup({})])
Пример #9
0
    def testFillingOrderRemovesWarehouseItemsWhenSufficientStockIsAvailable(
            self):
        o = Order("milk", 20)
        w = MagicMock(spec=Warehouse)
        w.has_inventory.return_value = True

        o.fill(w)
        self.assertEqual(True, call.remove("milk", 20) in w.mock_calls)
Пример #10
0
 def test_mock_chain_applies(self):
     chain_applies = self._mock_chain_applies()
     port_prepare = {"device": "d1", "mac_address": "prepare"}
     port_update = {"device": "d1", "mac_address": "update"}
     self.firewall.prepare_port_filter(port_prepare)
     self.firewall.update_port_filter(port_update)
     self.firewall.remove_port_filter(port_update)
     chain_applies.assert_has_calls(
         [
             call.remove({}),
             call.setup({"d1": port_prepare}),
             call.remove({"d1": port_prepare}),
             call.setup({"d1": port_update}),
             call.remove({"d1": port_update}),
             call.setup({}),
         ]
     )
Пример #11
0
 def test_defer_chain_apply_coalesce_multiple_ports(self):
     chain_applies = self._mock_chain_applies()
     port1 = {"device": "d1", "mac_address": "mac1"}
     port2 = {"device": "d2", "mac_address": "mac2"}
     device2port = {"d1": port1, "d2": port2}
     with self.firewall.defer_apply():
         self.firewall.prepare_port_filter(port1)
         self.firewall.prepare_port_filter(port2)
     chain_applies.assert_has_calls([call.remove({}), call.setup(device2port)])
Пример #12
0
 def test_defer_chain_apply_coalesce_multiple_ports(self):
     chain_applies = self._mock_chain_applies()
     port1 = {'device': 'd1', 'mac_address': 'mac1'}
     port2 = {'device': 'd2', 'mac_address': 'mac2'}
     device2port = {'d1': port1, 'd2': port2}
     with self.firewall.defer_apply():
         self.firewall.prepare_port_filter(port1)
         self.firewall.prepare_port_filter(port2)
     chain_applies.assert_has_calls([call.remove({}),
                                     call.setup(device2port)])
Пример #13
0
    def test_should_remove_all_repeating_groups(self):
        with patch('app.views.questionnaire.get_answer_store'
                   ) as get_answer_store:
            # Given
            self.token = create_token('household', 'census')
            self.client.get('/session?token=' + self.token.decode(),
                            follow_redirects=True)
            answer = {'permanent-or-family-home-answer': 'No'}

            # When
            self.client.post(
                '/questionnaire/census/household/789/who-lives-here/0/permanent-or-family-home',
                data=answer)

            # Then
            get_answer_store().assert_has_calls([
                call.remove(group_id='who-lives-here-relationship'),
                call.remove(group_id='household-member')
            ])
Пример #14
0
def test_remove_file(OSF_project):
    args = MockArgs(project='1234', username='******', target='osfstorage/a/a/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        remove(args)

    OSF_project.assert_called_once_with('1234')

    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        if f._path_mock.return_value == '/a/a/a':
            assert call.remove() in f.mock_calls
    for f in MockStorage.folders:
        assert call.remove() not in f.mock_calls
 def test_defer_chain_apply_coalesce_multiple_ports(self):
     chain_applies = self._mock_chain_applies()
     port1 = {'device': 'd1', 'mac_address': 'mac1'}
     port2 = {'device': 'd2', 'mac_address': 'mac2'}
     device2port = {'d1': port1, 'd2': port2}
     with self.firewall.defer_apply():
         self.firewall.prepare_port_filter(port1)
         self.firewall.prepare_port_filter(port2)
     chain_applies.assert_has_calls([call.remove({}),
                                     call.setup(device2port)])
Пример #16
0
def test_wrong_storage_name(OSF_project):
    args = MockArgs(project='1234', username='******', target='DOESNTEXIST/a/a/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        makefolder(args)

    OSF_project.assert_called_once_with('1234')

    # the mock storage is called osfstorage, so we should not call remove()
    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        if f._path_mock.return_value == '/a/a/a':
            assert call.remove() not in f.mock_calls
    for f in MockStorage.folders:
        assert call.remove() not in f.mock_calls
Пример #17
0
def test_non_existant_file(OSF_project):
    args = MockArgs(project='1234', username='******',
                    target='osfstorage/DOESNTEXIST/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        remove(args)

    OSF_project.assert_called_once_with('1234')

    # check that all files in osfstorage are visited but non get deleted
    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        assert f._path_mock.called
        assert call.remove() not in f.mock_calls
    for f in MockStorage.folders:
        assert f._path_mock.called
        assert call.remove() not in f.mock_calls
Пример #18
0
    def test_should_remove_household_composition_answer_when_no_answer(self):
        with patch('app.views.questionnaire.get_answer_store'
                   ) as get_answer_store:
            # Given
            self.launchSurvey('census', 'household')

            # When
            self.post({'permanent-or-family-home-answer': 'No'})

            # Then
            get_answer_store().assert_has_calls([
                call.remove(block_id='household-composition',
                            group_id='who-lives-here')
            ])
Пример #19
0
 def test_should_delete_target(self):
     self.client.delete('/test', 'Test commit')
     calls = [call.remove('/test', force=True)]
     sub_mock = self.mock_pysvn.return_value
     sub_mock.assert_has_calls(calls)