def test_new_executors_not_in_database(self, session): agent = AgentFactory.create() executors = [{ 'executor_name': 'nmap_executor', 'args': { 'param1': True } }] assert update_executors(agent, executors)
def test_remove_all_executors(self, session): agent = AgentFactory.create() params = {'old_param': True} executor = ExecutorFactory.create(name='old_executor', agent=agent, parameters_metadata=params) session.add(executor) session.commit() executors = [] assert update_executors(agent, executors) count_executors = Executor.query.filter_by(agent=agent).count() assert count_executors == 0
def test_executors_with_some_invalid_executors(self, session): agent = AgentFactory.create() executors = [{ 'invalid_key': 'nmap_executor' }, { 'executor_name': 'executor 1', 'args': { 'param1': True } }] assert update_executors(agent, executors) count_executors = Executor.query.filter_by(agent=agent).count() assert count_executors == 1
def test_executor_already_in_database_but_new_parameters_incoming( self, session): agent = AgentFactory.create() old_params = {'old_param': True} executor = ExecutorFactory.create(agent=agent, parameters_metadata=old_params) session.add(executor) session.commit() new_params = old_params new_params.update({'param1': True}) executors = [{'executor_name': executor.name, 'args': new_params}] assert update_executors(agent, executors) from_db_executor = Executor.query.filter_by(id=executor.id, agent=agent).first() assert from_db_executor.parameters_metadata == new_params
def test_remove_one_of_two_executors(self, session): agent = AgentFactory.create() executor = ExecutorFactory.create(name='executor 1', agent=agent, parameters_metadata={'param1': True}) session.add(executor) another_executor = ExecutorFactory.create( name='executor 2', agent=agent, parameters_metadata={'param2': True}) session.add(executor) session.add(another_executor) session.commit() executors = [{'executor_name': 'executor 2', 'args': {'param2': True}}] assert update_executors(agent, executors) count_executors = Executor.query.filter_by(agent=agent).count() assert count_executors == 1 from_db_executor = Executor.query.filter_by(id=another_executor.id, agent=agent).first() assert from_db_executor.name == 'executor 2'
def test_new_executor_and_delete_the_old_one(self, session): agent = AgentFactory.create() params = {'old_param': True} executor = ExecutorFactory.create(name='old_executor', agent=agent, parameters_metadata=params) session.add(executor) session.commit() executors = [{ 'executor_name': 'new executor', 'args': { 'param1': True } }] assert update_executors(agent, executors) count_executors = Executor.query.filter_by(agent=agent).count() assert count_executors == 1 current_executor = Executor.query.filter_by(agent=agent).first() assert current_executor.name == 'new executor' assert current_executor.parameters_metadata == {'param1': True}
def test_executors_with_missing_args(self, session): agent = AgentFactory.create() executors = [{'executor_name': 'nmap_executor'}] assert update_executors(agent, executors)