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_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({})])
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({})])
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_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({}), ] )
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)])
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)])
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') ])
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_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
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
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') ])
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)