def test_002_handle_get_one_path(self):
    server_ph = YANGPathHelper()
    s = simple_device(path_helper=server_ph)

    s.system.config.hostname = "rtr0.lhr.uk"
    s.system.config.domain_name = "test.jiveip.net"

    get_msg = PyNMSClientGRPCMethods.generate_get_message(["/system"], 0)
    ret_msg = PyNMSServerGRPCMethods.service_get_request(get_msg, server_ph)

    self.assertEqual(ret_msg.request_id, 0)
    self.assertEqual(ret_msg.response_code, 0)
    self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code), 'OK')
    self.assertEqual(len(ret_msg.response), 1)
    self.assertEqual(ret_msg.response[0].path, "/system")

    err = None
    try:
      json_returned = json.loads(ret_msg.response[0].value)
    except Exception as e:
      err = e

    self.assertIsNone(err)
    self.assertEqual(json_returned, {u'simple-device:ntp': {u'state': {u'enabled': False},
                u'config': {u'enabled': False}}, u'simple-device:config':
                {u'domain-name': u'test.jiveip.net', u'hostname': u'rtr0.lhr.uk'},
                u'simple-device:state': {u'domain-name': u'', u'hostname': u''}})

    del server_ph
Exemplo n.º 2
0
    def test_001_get_interfaces(self):
        server_ph = YANGPathHelper()
        s = openconfig_interfaces(path_helper=server_ph)

        gi0 = s.interfaces.interface.add(u"gi0/0/0")
        subint0 = gi0.subinterfaces.subinterface.add(0)
        ip4 = subint0.ipv4.addresses.address.add(u"192.0.2.1")
        ip4.config.prefix_length = 24

        ip6 = subint0.ipv6.addresses.address.add(u"2001:db8::1")
        ip6.config.prefix_length = 64

        logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
        logger.addHandler(logging.NullHandler())

        get_msg = PyNMSClientGRPCMethods.generate_get_message(["/interfaces"],
                                                              42)
        ret_msg = PyNMSServerGRPCMethods.service_get_request(get_msg,
                                                             server_ph,
                                                             logger=logger)
        print ret_msg

        #
        # TODO: assertions
        #

        del server_ph
Exemplo n.º 3
0
    def test_005_handle_multiple_set_path(self):
        server_ph = YANGPathHelper()
        s = simple_device(path_helper=server_ph)

        c = simple_device()
        c.system.config.hostname = "rtr0.lhr.uk"
        c.system.ntp.config.enabled = True
        operations = [
            PyNMSConfigOperation(c.system.config),
            PyNMSConfigOperation(c.system.ntp)
        ]
        set_msg = PyNMSClientGRPCMethods.generate_set_message(operations,
                                                              request_id=42)
        ret_msg = PyNMSServerGRPCMethods.service_set_request(
            set_msg, server_ph)

        self.assertEqual(ret_msg.request_id, 42)
        self.assertEqual(ret_msg.response_code, 0)
        self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code),
                         'OK')
        self.assertEqual(ret_msg.message, "")

        self.assertEqual(s.system.config.hostname, "rtr0.lhr.uk")
        self.assertEqual(s.system.ntp.config.enabled, True)

        del server_ph
Exemplo n.º 4
0
    def test_003_handle_get_multiple_paths(self):
        server_ph = YANGPathHelper()
        s = simple_device(path_helper=server_ph)

        s.system.config.hostname = "rtr0.lhr.uk"
        s.system.config.domain_name = "test.jiveip.net"
        s.system.ntp.config.enabled = True

        get_msg = PyNMSClientGRPCMethods.generate_get_message(
            ["/system/config", "/system/config/hostname"], 0)
        ret_msg = PyNMSServerGRPCMethods.service_get_request(
            get_msg, server_ph)

        self.assertEqual(ret_msg.request_id, 0)
        self.assertEqual(ret_msg.response_code, 0)
        self.assertEqual(len(ret_msg.response), 2)

        expected_results = [("/system/config", {
            u'simple-device:hostname': u'rtr0.lhr.uk',
            u'simple-device:domain-name': u'test.jiveip.net'
        }), ("/system/config/hostname", u'rtr0.lhr.uk')]
        for returned, expected in zip(ret_msg.response, expected_results):
            self.assertEqual(returned.path, expected[0])
            err = None
            try:
                json_returned = json.loads(returned.value)
            except Exception as e:
                err = e
            self.assertIsNone(err)
            self.assertEqual(json_returned, expected[1])

        del server_ph
Exemplo n.º 5
0
    def test_002_replace_interfaces(self):
        server_ph = YANGPathHelper()
        s = openconfig_interfaces(path_helper=server_ph)

        logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
        logger.addHandler(logging.NullHandler())

        gi0 = s.interfaces.interface.add("gi0/0/0")
        subint0 = gi0.subinterfaces.subinterface.add(0)
        ip4 = subint0.ipv4.addresses.address.add("192.0.2.1")
        ip4.config.prefix_length = 24

        ocif = openconfig_interfaces()

        gi0 = ocif.interfaces.interface.add("gi0/0/0")
        subint0 = gi0.subinterfaces.subinterface.add(0)
        ip6 = subint0.ipv6.addresses.address.add("2001:db8::1")
        ip6.config.prefix_length = 64

        transaction = [PyNMSConfigOperation(ocif.interfaces, 'REPLACE_CONFIG')]
        set_msg = PyNMSClientGRPCMethods.generate_set_message(transaction)
        ret_msg = PyNMSServerGRPCMethods.service_set_request(set_msg,
                                                             server_ph,
                                                             logger=logger)

        print s.interfaces.get(filter=True)
  def test_003_handle_get_multiple_paths(self):
    server_ph = YANGPathHelper()
    s = simple_device(path_helper=server_ph)

    s.system.config.hostname = "rtr0.lhr.uk"
    s.system.config.domain_name = "test.jiveip.net"
    s.system.ntp.config.enabled = True

    get_msg = PyNMSClientGRPCMethods.generate_get_message(["/system/config", "/system/config/hostname"], 0)
    ret_msg = PyNMSServerGRPCMethods.service_get_request(get_msg, server_ph)

    self.assertEqual(ret_msg.request_id, 0)
    self.assertEqual(ret_msg.response_code, 0)
    self.assertEqual(len(ret_msg.response), 2)

    expected_results = [
                          ("/system/config", {u'simple-device:hostname': u'rtr0.lhr.uk', u'simple-device:domain-name': u'test.jiveip.net'}),
                          ("/system/config/hostname", u'rtr0.lhr.uk')
                       ]
    for returned,expected in zip(ret_msg.response, expected_results):
      self.assertEqual(returned.path, expected[0])
      err = None
      try:
        json_returned = json.loads(returned.value)
      except Exception as e:
        err = e
      self.assertIsNone(err)
      self.assertEqual(json_returned, expected[1])

    del server_ph
  def test_000_generate_get_message(self):
    paths = ["/", "/system"]
    get_msg = PyNMSClientGRPCMethods.generate_get_message(paths, 42)

    self.assertEqual(get_msg.data_type, 0)
    self.assertEqual(pynms_rpc_pb2.GetDataCommand.Name(get_msg.data_type), 'GET_ALL')
    self.assertEqual(get_msg.path, ["/", "/system"])
    self.assertEqual(get_msg.request_id, 42)
Exemplo n.º 8
0
    def test_000_generate_get_message(self):
        paths = ["/", "/system"]
        get_msg = PyNMSClientGRPCMethods.generate_get_message(paths, 42)

        self.assertEqual(get_msg.data_type, 0)
        self.assertEqual(pynms_rpc_pb2.GetDataCommand.Name(get_msg.data_type),
                         'GET_ALL')
        self.assertEqual(get_msg.path, ["/", "/system"])
        self.assertEqual(get_msg.request_id, 42)
Exemplo n.º 9
0
    def test_002_handle_get_one_path(self):
        server_ph = YANGPathHelper()
        s = simple_device(path_helper=server_ph)

        s.system.config.hostname = "rtr0.lhr.uk"
        s.system.config.domain_name = "test.jiveip.net"

        get_msg = PyNMSClientGRPCMethods.generate_get_message(["/system"], 0)
        ret_msg = PyNMSServerGRPCMethods.service_get_request(
            get_msg, server_ph)

        self.assertEqual(ret_msg.request_id, 0)
        self.assertEqual(ret_msg.response_code, 0)
        self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code),
                         'OK')
        self.assertEqual(len(ret_msg.response), 1)
        self.assertEqual(ret_msg.response[0].path, "/system")

        err = None
        try:
            json_returned = json.loads(ret_msg.response[0].value)
        except Exception as e:
            err = e

        self.assertIsNone(err)
        self.assertEqual(
            json_returned, {
                u'simple-device:ntp': {
                    u'state': {
                        u'enabled': False
                    },
                    u'config': {
                        u'enabled': False
                    }
                },
                u'simple-device:config': {
                    u'domain-name': u'test.jiveip.net',
                    u'hostname': u'rtr0.lhr.uk'
                },
                u'simple-device:state': {
                    u'domain-name': u'',
                    u'hostname': u''
                }
            })

        del server_ph
Exemplo n.º 10
0
  def test_006_handle_scalar_set_operation(self):
    server_ph = YANGPathHelper()
    s = simple_device(path_helper=server_ph)

    c = simple_device()
    c.system.config.hostname = "rtr0.lhr.uk"

    operations = [PyNMSConfigOperation(c.system.config.hostname)]
    set_msg = PyNMSClientGRPCMethods.generate_set_message(operations, request_id=42)
    ret_msg = PyNMSServerGRPCMethods.service_set_request(set_msg, server_ph)

    self.assertEqual(ret_msg.request_id, 42)
    self.assertEqual(ret_msg.response_code, 0)
    self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code), 'OK')
    self.assertEqual(ret_msg.message, "")

    self.assertEqual(s.system.config.hostname, "rtr0.lhr.uk")

    del server_ph
Exemplo n.º 11
0
  def test_004_handle_one_set_path(self):
    server_ph = YANGPathHelper()
    s = simple_device(path_helper=server_ph)

    c = simple_device()
    c.system.config.hostname = "rtr0.lhr.uk"
    c.system.config.domain_name = "test.jiveip.net"

    set_msg = PyNMSClientGRPCMethods.generate_set_message([PyNMSConfigOperation(c.system)])
    ret_msg = PyNMSServerGRPCMethods.service_set_request(set_msg, server_ph)

    self.assertEqual(ret_msg.request_id, 0)
    self.assertEqual(ret_msg.response_code, 0)
    self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code), 'OK')
    self.assertEqual(ret_msg.message, "")

    self.assertEqual(s.system.config.hostname, "rtr0.lhr.uk")
    self.assertEqual(s.system.config.domain_name, "test.jiveip.net")

    del server_ph
Exemplo n.º 12
0
    def test_004_handle_one_set_path(self):
        server_ph = YANGPathHelper()
        s = simple_device(path_helper=server_ph)

        c = simple_device()
        c.system.config.hostname = "rtr0.lhr.uk"
        c.system.config.domain_name = "test.jiveip.net"

        set_msg = PyNMSClientGRPCMethods.generate_set_message(
            [PyNMSConfigOperation(c.system)])
        ret_msg = PyNMSServerGRPCMethods.service_set_request(
            set_msg, server_ph)

        self.assertEqual(ret_msg.request_id, 0)
        self.assertEqual(ret_msg.response_code, 0)
        self.assertEqual(pynms_rpc_pb2.RPCResponse.Name(ret_msg.response_code),
                         'OK')
        self.assertEqual(ret_msg.message, "")

        self.assertEqual(s.system.config.hostname, "rtr0.lhr.uk")
        self.assertEqual(s.system.config.domain_name, "test.jiveip.net")

        del server_ph
Exemplo n.º 13
0
  def test_001_generate_set_message(self):
    s = simple_device()
    s.system.config.hostname = "rtr0.lhr.uk"
    s.system.ntp.config.enabled = True

    operations = [
                    PyNMSConfigOperation(s.system.config),
                    PyNMSConfigOperation(s.system.ntp)
                 ]
    set_msg = PyNMSClientGRPCMethods.generate_set_message(operations)

    self.assertEqual(set_msg.request_id, 0)
    self.assertEqual(set_msg.encoding, 0)
    self.assertEqual(pynms_rpc_pb2.EncodingType.Name(set_msg.encoding), "JSON_IETF")
    self.assertEqual(set_msg.prefix, "")
    self.assertEqual(set_msg.operation[0].opcode, 0)
    self.assertEqual(set_msg.operation[0].path, "/system/config")
    self.assertEqual(json.loads(set_msg.operation[0].value), \
                        {u"simple-device:hostname": u"rtr0.lhr.uk"})
    self.assertEqual(set_msg.operation[1].opcode, 0)
    self.assertEqual(set_msg.operation[1].path, "/system/ntp")
    self.assertEqual(json.loads(set_msg.operation[1].value), \
                        {u"simple-device:config": {u"enabled": True}})
Exemplo n.º 14
0
  def test_003_delete_interface(self):
    server_ph = YANGPathHelper()
    s = openconfig_interfaces(path_helper=server_ph)

    logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
    logger.addHandler(logging.NullHandler())

    gi0 = s.interfaces.interface.add(u"gi0/0/0")
    subint0 = gi0.subinterfaces.subinterface.add(0)
    ip4 = subint0.ipv4.addresses.address.add(u"192.0.2.1")
    ip4.config.prefix_length = 24

    logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
    logger.addHandler(logging.NullHandler())

    ocif = openconfig_interfaces()
    gi0 = ocif.interfaces.interface.add(u"gi0/0/0")
    transaction = [PyNMSConfigOperation(gi0, 'DELETE_CONFIG')]
    set_msg = PyNMSClientGRPCMethods.generate_set_message(transaction)
    print set_msg
    ret_msg = PyNMSServerGRPCMethods.service_set_request(set_msg, server_ph, logger=logger)

    print s.interfaces.get(filter=True)
Exemplo n.º 15
0
    def test_001_generate_set_message(self):
        s = simple_device()
        s.system.config.hostname = "rtr0.lhr.uk"
        s.system.ntp.config.enabled = True

        operations = [
            PyNMSConfigOperation(s.system.config),
            PyNMSConfigOperation(s.system.ntp)
        ]
        set_msg = PyNMSClientGRPCMethods.generate_set_message(operations)

        self.assertEqual(set_msg.request_id, 0)
        self.assertEqual(set_msg.encoding, 0)
        self.assertEqual(pynms_rpc_pb2.EncodingType.Name(set_msg.encoding),
                         "JSON_IETF")
        self.assertEqual(set_msg.prefix, "")
        self.assertEqual(set_msg.operation[0].opcode, 0)
        self.assertEqual(set_msg.operation[0].path, "/system/config")
        self.assertEqual(json.loads(set_msg.operation[0].value), \
                            {u"simple-device:hostname": u"rtr0.lhr.uk"})
        self.assertEqual(set_msg.operation[1].opcode, 0)
        self.assertEqual(set_msg.operation[1].path, "/system/ntp")
        self.assertEqual(json.loads(set_msg.operation[1].value), \
                            {u"simple-device:config": {u"enabled": True}})
Exemplo n.º 16
0
  def test_001_get_interfaces(self):
    server_ph = YANGPathHelper()
    s = openconfig_interfaces(path_helper=server_ph)

    gi0 = s.interfaces.interface.add(u"gi0/0/0")
    subint0 = gi0.subinterfaces.subinterface.add(0)
    ip4 = subint0.ipv4.addresses.address.add(u"192.0.2.1")
    ip4.config.prefix_length = 24

    ip6 = subint0.ipv6.addresses.address.add(u"2001:db8::1")
    ip6.config.prefix_length = 64

    logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
    logger.addHandler(logging.NullHandler())

    get_msg = PyNMSClientGRPCMethods.generate_get_message(["/interfaces"], 42)
    ret_msg = PyNMSServerGRPCMethods.service_get_request(get_msg, server_ph, logger=logger)
    print ret_msg

    #
    # TODO: assertions
    #

    del server_ph
Exemplo n.º 17
0
  def test_000_set_interfaces(self):
    server_ph = YANGPathHelper()
    s = openconfig_interfaces(path_helper=server_ph)

    ocif = openconfig_interfaces()

    gi0 = ocif.interfaces.interface.add("gi0/0/0")
    subint0 = gi0.subinterfaces.subinterface.add(0)
    ip4 = subint0.ipv4.addresses.address.add("192.0.2.1")
    ip4.config.prefix_length = 24

    ip6 = subint0.ipv6.addresses.address.add("2001:db8::1")
    ip6.config.prefix_length = 64

    transaction = [PyNMSConfigOperation(ocif.interfaces, 'UPDATE_CONFIG')]
    logger = logging.getLogger('PyNMSGPRC_OCMessageTests_Interfaces')
    logger.addHandler(logging.NullHandler())

    set_msg = PyNMSClientGRPCMethods.generate_set_message(transaction)
    ret_msg = PyNMSServerGRPCMethods.service_set_request(set_msg, server_ph, logger=logger)

    # TODO assertions

    del server_ph
Exemplo n.º 18
0
 def set_paths(self, operations, request_id=0):
     setreq = PyNMSClientGRPCMethods.generate_set_message(
         operations, request_id)
     response = self._stub.Set(setreq, self._timeout)
     return response
Exemplo n.º 19
0
 def get_paths(self, paths, request_id, prefix=None, data_type='ALL'):
     getreq = PyNMSClientGRPCMethods.generate_get_message(
         paths, request_id, prefix=prefix, data_type=data_type)
     response = self._stub.Get(getreq, self._timeout)
     return response