def test_deleteHost_InvokedWithAHostId_DeletesProcess(self): self.mockDbSession.query.return_value = mockQueryWithFilterBy( mockFirstByReturnValue(self.mockProcess)) self.hostRepository.deleteHost("some-host-id") self.mockDbSession.delete.assert_called_once_with(self.mockProcess) self.mockDbSession.commit.assert_called_once()
def test_getNoteByHostId_WhenProvidedHostId_ReturnsNote(self): self.mockDbAdapter.session.return_value = self.mockDbSession self.mockDbSession.query.return_value = mockQueryWithFilterBy( mockFirstByReturnValue("some-note")) note = self.noteRepository.getNoteByHostId("some-host-id") self.assertEqual("some-note", note)
def test_toggleHostCheckStatus_WhenHostIsSetToFalse_TogglesToTrue(self): self.mockProcess.checked = 'False' self.mockDbSession.query.return_value = mockQueryWithFilterBy(mockFirstByReturnValue(self.mockProcess)) self.hostRepository.toggleHostCheckStatus("some-ip-address") self.assertEqual('True', self.mockProcess.checked) self.mockDbSession.add.assert_called_once_with(self.mockProcess) self.mockDbAdapter.commit.assert_called_once()
def test_storeProcessOutput_WhenProvidedProcessIdDoesNotExist_DoesNotPerformAnyUpdate(self): self.mockDbAdapter.session.return_value = self.mockDbSession self.mockDbSession.query.return_value = mockQueryWithFilterBy(mockFirstByReturnValue(False)) self.processRepository.storeProcessOutput("some_non_existent_process_id", "this is some cool output") self.mockDbSession.add.assert_not_called() self.mockDbAdapter.commit.assert_not_called()
def test_storeCloseStatus_WhenProvidedProcessId_StoresCloseStatus(self): self.mockProcess.closed = 'False' self.mockDbSession.query.return_value = mockQueryWithFilterBy(mockFirstByReturnValue(self.mockProcess)) self.processRepository.storeCloseStatus("some-process-id") self.assertEqual('True', self.mockProcess.closed) self.mockDbSession.add.assert_called_once_with(self.mockProcess) self.mockDbAdapter.commit.assert_called_once()
def test_storeProcessRunningElapsedTime_WhenProvidedProcessId_StoresProcessRunningElapsedTime(self): self.mockProcess.elapsed = "some-time" self.mockDbSession.query.return_value = mockQueryWithFilterBy(mockFirstByReturnValue(self.mockProcess)) self.processRepository.storeProcessRunningElapsedTime("some-process-id", "another-time") self.assertEqual("another-time", self.mockProcess.elapsed) self.mockDbSession.add.assert_called_once_with(self.mockProcess) self.mockDbAdapter.commit.assert_called_once()
def test_storeNotes_WhenProvidedHostIdAndNoteAndNoteDoesNotExist_SavesNewNote( self): self.mockDbAdapter.session.return_value = self.mockDbSession self.mockDbSession.query.return_value = mockQueryWithFilterBy( mockFirstByReturnValue(None)) self.noteRepository.storeNotes("some-host-id", "some-note") self.mockDbSession.add.assert_called_once() self.mockDbAdapter.commit.assert_called_once()
def test_getHostInfo_WhenProvidedHostIpAddress_FetchesHostInformation(self): from db.entities.host import hostObj expected_host_info: hostObj = MagicMock() self.mockDbSession.query.return_value = mockQueryWithFilterBy(mockFirstByReturnValue(expected_host_info)) actual_host_info = self.hostRepository.getHostInformation("127.0.0.1") self.assertEqual(actual_host_info, expected_host_info)
def test_getPortsByIPAndProtocol_ReturnsPorts(self): expected_query = ("SELECT ports.portId FROM portObj AS ports " "INNER JOIN hostObj AS hosts ON hosts.id = ports.hostId " "WHERE hosts.ip = ? and ports.protocol = ?") self.mockDbAdapter.metadata.bind.execute.return_value = mockFirstByReturnValue( [['port-id1'], ['port-id2']]) ports = self.repository.getPortsByIPAndProtocol("some_host_ip", "tcp") self.mockDbAdapter.metadata.bind.execute.assert_called_once_with(expected_query, "some_host_ip", "tcp") self.assertEqual([['port-id1'], ['port-id2']], ports)
def test_getServiceNamesByHostIPAndPort_WhenProvidedWithHostIpAndPort_ReturnsServiceNames(self): self.mockDbAdapter.metadata.bind.execute.return_value = mockFirstByReturnValue( [['service-name1'], ['service-name2']]) expectedQuery = ("SELECT services.name FROM serviceObj AS services " "INNER JOIN hostObj AS hosts ON hosts.id = ports.hostId " "INNER JOIN portObj AS ports ON services.id=ports.serviceId " "WHERE hosts.ip=? and ports.portId = ?") result = self.repository.getServiceNamesByHostIPAndPort("some_host", "1234") self.assertEqual([['service-name1'], ['service-name2']], result) self.mockDbAdapter.metadata.bind.execute.assert_called_once_with(expectedQuery, "some_host", "1234")
def mockProcessStatusAndReturnSingle(self, processStatus: str): self.mockProcess.status = processStatus self.mockDbSession.query.return_value = mockQueryWithFilterBy( mockFirstByReturnValue(self.mockProcess))