async def _create_detection_operation(self, red_op_name, red_op_id, red_op_access): planner = (await self.get_service('data_svc').locate( 'planners', match=dict(name='atomic')))[0] adversary_id = self.get_config(prop='adversary', name='gameboard') adversary = (await self.data_svc.locate( 'adversaries', match=dict(adversary_id=adversary_id)))[0] obj = (await self.data_svc.locate('objectives', match=dict(name='default')))[0] agent = Agent(0, 0, 0, paw='gameboard_detection') access = self.Access.BLUE detection_operation = Operation(name=red_op_name + '_' + str(red_op_id) + self.blue_op_name_modifier, agents=[agent], adversary=adversary, access=access, planner=planner, group='blue') detection_operation.objective = obj detection_operation.set_start_details() return [await self.data_svc.store(detection_operation)]
def op_with_learning_and_seeded(ability, adversary, operation_agent, parse_datestring): sc = Source(id='3124', name='test', facts=[Fact(trait='domain.user.name', value='bob')]) op = Operation(id='6789', name='testC', agents=[], adversary=adversary, source=sc, use_learning_parsers=True) # patch operation to make it 'realistic' op.start = parse_datestring(OP_START_TIME) op.adversary = op.adversary() op.planner = Planner(planner_id='12345', name='test_planner', module='not.an.actual.planner', params=None) op.objective = Objective(id='6428', name='not_an_objective') t_operation_agent = operation_agent t_operation_agent.paw = '123456' op.agents = [t_operation_agent] return op