def test_gpb_array_read_read_all(self): test_count = 1000 self.assertTrue(self.create_ipv4_ipv6_record(test_count)) data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertTrue(len(data.RpdInfo.DepiMcastSession), test_count * 2)
def test_gpb_array_read_read_with_partial_leaf(self): test_count = 1000 self.assertTrue(self.create_ipv4_ipv6_record(test_count)) print "============ 1: request partial leaf is in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() item.LocalLcceIpAddr = "10.1.1.1" record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertEqual(len(data.RpdInfo.DepiMcastSession), test_count * 2)
def test_gpb_array_read_read_with_partial_two_keys(self): test_count = 1000 self.assertTrue(self.create_ipv4_ipv6_record(test_count)) print "============ 1: request partial keys is in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() item.IpAddrType = 1 item.GroupIpAddr = "10.79.31.1" record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertEqual(len(data.RpdInfo.DepiMcastSession), test_count)
def test_gpb_array_read_read_with_partial_keys(self): test_count = 1000 self.assertTrue(self.create_ipv4_ipv6_record(test_count)) print "============ 1: request partial keys is in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession for ses in range(0, test_count): item = gpb.add() item.SessionId = ses + 1 record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertEqual(len(data.RpdInfo.DepiMcastSession), test_count * 2)
def test_gpb_array_read_readcout_without_key(self): self.assertTrue(self.create_ipv4_ipv6_record()) data = config() readCount = 3 gpb = data.RpdInfo.DepiMcastSession gpb.add() record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record, readCount) for item in gpb: print item self.assertEqual(len(item.ListFields()), 6) self.assertFalse(item.HasField("JoinTime")) self.assertTrue(len(data.RpdInfo.DepiMcastSession), readCount)
def test_invalid_key(self): sessRec = DepiMcastSessionRecord() sessRec.updateDepiMcastSessionKey(IpAddrType=1, GroupIpAddr="test", SrcIpAddr="10.90.31.1", SessionId=0x80010001) sessRec.updateDepiMcastSessionData("10.1.1.1", "1.1.1.1", time.time()) sessRec.write() data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) print gpb[0] self.assertEqual(len(data.RpdInfo.DepiMcastSession), 1)
def test_gpb_array_read_readcout_with_leaf(self): self.assertTrue(self.create_ipv4_ipv6_record()) data = config() readCount = 10 gpb = data.RpdInfo.DepiMcastSession item = gpb.add() item.IpAddrType = 2 value = getattr(item, "LocalLcceIpAddr") setattr(item, "LocalLcceIpAddr", value) record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record, readCount) for item in gpb: self.assertEqual(len(item.ListFields()), 5) self.assertEqual(item.IpAddrType, 2) self.assertFalse(item.HasField("JoinTime")) self.assertTrue(len(data.RpdInfo.DepiMcastSession), readCount)
def test_gpb_array_read_invalid_read(self): data = config() gpb = data.RpdInfo.DiagnosticStatus try: ArrayTLVRead(gpb, C100_DiagnosticStatus_4) except ArrayTLVReadException as e: self.assertEqual(str(e), "rcptlv is not Array instance") try: ArrayTLVRead(gpb, "test") except ArrayTLVReadException as e: self.assertEqual(str(e), "rcptlv is not an instance of RCPTLV") data = config() gpb = data.RpdInfo.DepiMcastSession try: mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read("test") except ArrayTLVReadException as e: self.assertEqual(str(e), "record is not instance of RCPRecord")
def test_gpb_array_read_read_with_keys(self): test_count = 10 self.assertTrue(self.create_ipv4_ipv6_record(test_count)) print "============ 1: key is in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() item.IpAddrType = 2 item.GroupIpAddr = "2001::1" item.SrcIpAddr = "2001::2" item.SessionId = 1 record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertTrue(len(data.RpdInfo.DepiMcastSession), 1) self.assertTrue(len(data.RpdInfo.DepiMcastSession[0].ListFields()), 6) print "============ 2: key is not in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession item = gpb.add() item.IpAddrType = 2 item.GroupIpAddr = "2001:1::1" item.SrcIpAddr = "2001::2" item.SessionId = 1 record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertTrue(len(data.RpdInfo.DepiMcastSession), 1) self.assertEqual(len(data.RpdInfo.DepiMcastSession[0].ListFields()), 5) print "============ 3: request keys is in db===============" data = config() gpb = data.RpdInfo.DepiMcastSession for ses in (0, test_count): item = gpb.add() item.IpAddrType = 2 item.GroupIpAddr = "2001::1" item.SrcIpAddr = "2001::2" item.SessionId = ses + 1 record = DepiMcastSessionRecord() mcast_array = ArrayTLVRead(gpb, C100_DepiMcastSession_5) mcast_array.array_read(record) self.assertTrue(len(data.RpdInfo.DepiMcastSession), test_count)