Exemple #1
0
    def test_service_creation(self):
        srv = Service(name="http")
        srv.setDescription("Some description")
        srv.setOwned(True)
        srv.setProtocol("tcp")
        srv.setPorts(80)
        srv.setStatus("open")
        srv.setVersion("Apache 2.4")

        self.smapper.save(srv)
        s = self.smapper.find(srv.getID())
        self.assertEquals(s, srv,
                          "Service retrieved should be the same as persisted")
        self.assertEquals(
            s.getID(), srv.getID(),
            "Service retrieved's Id should be the same as persisted's Id")
Exemple #2
0
 def test_service_serialization(self):
     srv = Service(name="http")
     srv.setDescription("Some description")
     srv.setOwned(True)
     srv.setProtocol("tcp")
     srv.setPorts(80)
     srv.setStatus("open")
     srv.setVersion("Apache 2.4")
     sserialized = self.smapper.serialize(srv)
     # if serialization fails, returns None
     self.assertNotEqual(sserialized, None,
                         "Serialized service shouldn't be None")
     # we check the service attributes
     self.assertEquals(sserialized.get("_id"), srv.getID(),
                       "Serialized ID is not the same as Service ID")
     self.assertEquals(sserialized.get("name"), srv.getName(),
                       "Serialized name is not the same as Service name")
     self.assertEquals(
         sserialized.get("protocol"), srv.getProtocol(),
         "Serialized protocol is not the same as Service protocol")
     self.assertEquals(
         sserialized.get("status"), srv.getStatus(),
         "Serialized status is not the same as Service status")
     self.assertEquals(sserialized.get("ports"), srv.getPorts(),
                       "Serialized ports is not the same as Service ports")
     self.assertEquals(
         sserialized.get("description"), srv.getDescription(),
         "Serialized description is not the same as Interface description")
     self.assertEquals(
         sserialized.get("owned"), srv.isOwned(),
         "Serialized owned flag is not the same as Interface owned flag")
Exemple #3
0
    def test_service_creation(self):
        name = "pepito"
        os = "Windows"
        host = Host(name, os)

        name = ""
        mac = "00:00:00:00:00:00"
        ipv4_address = "0.0.0.0"
        ipv4_mask = "0.0.0.0"
        ipv4_gateway = "0.0.0.0"
        ipv4_dns = []
        ipv6_address = "0000:0000:0000:0000:0000:0000:0000:0000"
        ipv6_prefix = "00"
        ipv6_gateway = "0000:0000:0000:0000:0000:0000:0000:0000"
        ipv6_dns = []
        network_segment = ""
        hostname_resolution = []

        interface = Interface(name,
                              mac,
                              ipv4_address,
                              ipv4_mask,
                              ipv4_gateway,
                              ipv4_dns,
                              ipv6_address,
                              ipv6_prefix,
                              ipv6_gateway,
                              ipv6_dns,
                              network_segment,
                              hostname_resolution,
                              parent_id=host.getID())

        when(self._model_controller).find(
            interface.getID()).thenReturn(interface)

        name = "srv"
        protocol = "tcp"
        ports = []
        status = "running"
        version = "unknown"
        description = ""

        service_id = self.client.createService(name, protocol, ports, status,
                                               version, description,
                                               interface.getID())

        service = Service(name,
                          protocol,
                          ports,
                          status,
                          version,
                          description,
                          parent_id=interface.getID())

        self.assertNotEquals(service_id, None,
                             "service created shouldn't be None")

        self.assertEquals(service.getID(), service_id,
                          "ids should be the same")
Exemple #4
0
    def test_service_creation(self):
        srv = Service(name="http")
        srv.setDescription("Some description")
        srv.setOwned(True)
        srv.setProtocol("tcp")
        srv.setPorts(80)
        srv.setStatus("open")
        srv.setVersion("Apache 2.4")

        self.smapper.save(srv)
        s = self.smapper.find(srv.getID())
        self.assertEquals(
            s,
            srv,
            "Service retrieved should be the same as persisted")
        self.assertEquals(
            s.getID(),
            srv.getID(),
            "Service retrieved's Id should be the same as persisted's Id")
    def testInterfaceSetServices(self):
        inter = Interface('coco')
        services = {}
        for i in range(50, 60):
            serv = Service('cuca%s' % i, ports=[i])
            services[serv.getID()] = serv
        inter.setServices(services)

        self.assertEquals(len(inter.getChildsByType(Service.__name__)), 10, "not all services added")
        for s in services.values():
            self.assertIn(s, inter.getChildsByType(Service.__name__), "what happened with services?")
Exemple #6
0
    def test_service_create_and_delete(self):
        srv = Service(name="http")
        self.smapper.save(srv)
        s_id = srv.getID()

        self.assertNotEquals(self.smapper.load(s_id), None,
                             "Service should be saved")

        self.smapper.delete(s_id)

        self.assertEquals(self.smapper.find(s_id), None,
                          "Service shouldn't exist anymore")
Exemple #7
0
    def testInterfaceSetServices(self):
        inter = Interface('coco')
        services = {}
        for i in range(50, 60):
            serv = Service('cuca%s' % i, ports=[i])
            services[serv.getID()] = serv
        inter.setServices(services)

        self.assertEquals(len(inter.getChildsByType(Service.__name__)), 10,
                          "not all services added")
        for s in services.values():
            self.assertIn(s, inter.getChildsByType(Service.__name__),
                          "what happened with services?")
Exemple #8
0
    def testAddNoteToServiceGetsMapperDispatchSaveSYNC(self): 
        service = Service("servi")
        note = ModelObjectNote("a_note")

        mappersManager = self.createMapperMock()
        objectMapper = mock()
        when(mappersManager).getMapper(note).thenReturn(objectMapper)
        when(objectMapper).saveObject(note).thenReturn(True)

        model_controller = controller.ModelController(mock(), mappersManager)

        model_controller.addNoteToServiceSYNC(None, service.getID(), note)

        verify(mappersManager).getMapper(note)
        verify(objectMapper).saveObject(note)
Exemple #9
0
    def testAddVulnToServiceGetsMapperDispatchSaveSYNC(self): 
        service = Service("servi")
        vuln = ModelObjectVuln("a_vuln")

        mappersManager = self.createMapperMock()
        objectMapper = mock()
        when(mappersManager).getMapper(vuln).thenReturn(objectMapper)
        when(objectMapper).saveObject(vuln).thenReturn(True)

        model_controller = controller.ModelController(mock(), mappersManager)

        model_controller.addVulnToServiceSYNC(None, service.getID(), vuln)

        verify(mappersManager).getMapper(vuln)
        verify(objectMapper).saveObject(vuln)
    def testAddNoteToServiceGetsMapperDispatchSaveASYNC(self): 
        service = Service("servi")
        note = ModelObjectNote("a_note")

        mappersManager = self.createMapperMock()
        objectMapper = mock()
        when(mappersManager).getMapper(note.class_signature).thenReturn(objectMapper)
        when(objectMapper).save(note).thenReturn(True)

        model_controller = controller.ModelController(mock(), mappersManager)

        model_controller.addNoteToServiceASYNC(None, service.getID(), note)
        model_controller.processAllPendingActions()

        verify(mappersManager).getMapper(note.class_signature)
        verify(objectMapper).save(note)
Exemple #11
0
    def test_service_create_and_delete(self):
        srv = Service(name="http")
        self.smapper.save(srv)
        s_id = srv.getID()

        self.assertNotEquals(
            self.smapper.load(s_id),
            None,
            "Service should be saved")

        self.smapper.delete(s_id)

        self.assertEquals(
            self.smapper.find(s_id),
            None,
            "Service shouldn't exist anymore")
Exemple #12
0
    def testAddNoteToServiceGetsMapperDispatchSaveSYNC(self):
        service = Service("servi")
        note = ModelObjectNote("a_note")

        mappersManager = self.createMapperMock()
        objectMapper = mock()
        when(mappersManager).getMapper(
            note.class_signature).thenReturn(objectMapper)
        when(objectMapper).save(note).thenReturn(True)

        model_controller = controller.ModelController(mock(), mappersManager)

        model_controller.addNoteToServiceSYNC(None, service.getID(), note)

        verify(mappersManager).getMapper(note.class_signature)
        verify(objectMapper).save(note)
Exemple #13
0
    def testAddVulnToServiceGetsMapperDispatchSaveSYNC(self):
        service = Service("servi")
        vuln = ModelObjectVuln("a_vuln")

        mappersManager = self.createMapperMock()
        objectMapper = mock()
        when(mappersManager).getMapper(
            vuln.class_signature).thenReturn(objectMapper)
        when(objectMapper).save(vuln).thenReturn(True)

        model_controller = controller.ModelController(mock(), mappersManager)

        model_controller.addVulnToServiceSYNC(None, service.getID(), vuln)

        verify(mappersManager).getMapper(vuln.class_signature)
        verify(objectMapper).save(vuln)
    def test_service_creation(self):
        name = "pepito"
        os = "Windows"
        host = Host(name, os)

        name = ""
        mac = "00:00:00:00:00:00"
        ipv4_address = "0.0.0.0"
        ipv4_mask = "0.0.0.0"
        ipv4_gateway = "0.0.0.0"
        ipv4_dns = []
        ipv6_address = "0000:0000:0000:0000:0000:0000:0000:0000"
        ipv6_prefix = "00"
        ipv6_gateway = "0000:0000:0000:0000:0000:0000:0000:0000"
        ipv6_dns = []
        network_segment = ""
        hostname_resolution = []

        interface = Interface(
            name, mac, ipv4_address, ipv4_mask, ipv4_gateway, ipv4_dns,
            ipv6_address, ipv6_prefix, ipv6_gateway, ipv6_dns, network_segment,
            hostname_resolution, parent_id=host.getID())

        when(self._model_controller).find(
            interface.getID()).thenReturn(interface)

        name = "srv"
        protocol = "tcp"
        ports = []
        status = "running"
        version = "unknown"
        description = ""

        service_id = self.client.createService(
            name, protocol, ports, status, version, description,
            interface.getID())

        service = Service(name, protocol, ports, status, version, description,
                          parent_id=interface.getID())

        self.assertNotEquals(
            service_id, None, "service created shouldn't be None")

        self.assertEquals(
            service.getID(), service_id, "ids should be the same")
Exemple #15
0
 def test_service_serialization(self):
     srv = Service(name="http")
     srv.setDescription("Some description")
     srv.setOwned(True)
     srv.setProtocol("tcp")
     srv.setPorts(80)
     srv.setStatus("open")
     srv.setVersion("Apache 2.4")
     sserialized = self.smapper.serialize(srv)
     # if serialization fails, returns None
     self.assertNotEqual(
         sserialized,
         None,
         "Serialized service shouldn't be None")
     # we check the service attributes
     self.assertEquals(
         sserialized.get("_id"),
         srv.getID(),
         "Serialized ID is not the same as Service ID")
     self.assertEquals(
         sserialized.get("name"),
         srv.getName(),
         "Serialized name is not the same as Service name")
     self.assertEquals(
         sserialized.get("protocol"),
         srv.getProtocol(),
         "Serialized protocol is not the same as Service protocol")
     self.assertEquals(
         sserialized.get("status"),
         srv.getStatus(),
         "Serialized status is not the same as Service status")
     self.assertEquals(
         sserialized.get("ports"),
         srv.getPorts(),
         "Serialized ports is not the same as Service ports")
     self.assertEquals(
         sserialized.get("description"),
         srv.getDescription(),
         "Serialized description is not the same as Interface description")
     self.assertEquals(
         sserialized.get("owned"),
         srv.isOwned(),
         "Serialized owned flag is not the same as Interface owned flag")
Exemple #16
0
 def testInterfaceFromHostRemovedASYNC(self):
     service = Service('coco')
     interface = Interface("int_mock0") 
     interface.addChild(service.getID(), service)
     self.genericDelTest(interface, service,
             controller.ModelController.delServiceFromInterfaceASYNC, process_pending=True)