1 package org.onap.msb.apiroute.wrapper.consulextend.expose;
3 import java.math.BigInteger;
4 import java.util.ArrayList;
7 import org.junit.Assert;
9 import org.onap.msb.apiroute.wrapper.consulextend.expose.ServiceModifyIndexFilter;
10 import org.onap.msb.apiroute.wrapper.consulextend.model.health.ImmutableService;
11 import org.onap.msb.apiroute.wrapper.consulextend.model.health.ImmutableServiceHealth;
12 import org.onap.msb.apiroute.wrapper.consulextend.model.health.Service;
13 import org.onap.msb.apiroute.wrapper.consulextend.model.health.ServiceHealth;
15 import com.orbitz.consul.model.ConsulResponse;
16 import com.orbitz.consul.model.health.ImmutableNode;
18 public class ServiceModifyIndexFilterTest {
21 public void testfilter()
23 ServiceModifyIndexFilter filter = new ServiceModifyIndexFilter();
26 List<ServiceHealth> list0 = new ArrayList<ServiceHealth>();
28 //id:huangleibo1,name:huangleibo,modifyIndex:1,createIndex:1
29 Service service0 = ImmutableService.builder().id("huangleibo1").port(0).address("")
30 .service("huangleibo").addTags("").createIndex(1).modifyIndex(1).build();
31 ServiceHealth serviceHealth0 = ImmutableServiceHealth.builder()
33 .node(ImmutableNode.builder().node("").address("").build())
35 list0.add(serviceHealth0);
37 ConsulResponse<List<ServiceHealth>> object0 = new ConsulResponse<List<ServiceHealth>>(list0,1,true,BigInteger.valueOf(1));
39 //list-size:1,id:huangleibo1,name:huangleibo,modifyIndex:1;the first time:return true
40 Assert.assertTrue(filter.filter(object0));
42 //list-size:1,id:huangleibo1,name:huangleibo,modifyIndex:1;same index:return false
43 Assert.assertFalse(filter.filter(object0));
45 /////////////////////////////////////////////////////////////////////////////////
47 List<ServiceHealth> list1 = new ArrayList<ServiceHealth>();
49 //id:huangleibo2,name:huangleibo,modifyIndex:1,createIndex:1
50 Service service1 = ImmutableService.builder().id("huangleibo2").port(0).address("")
51 .service("huangleibo").addTags("").createIndex(1).modifyIndex(1).build();
52 ServiceHealth serviceHealth1 = ImmutableServiceHealth.builder()
54 .node(ImmutableNode.builder().node("").address("").build())
57 list1.add(serviceHealth0);
58 list1.add(serviceHealth1);
60 ConsulResponse<List<ServiceHealth>> object1 = new ConsulResponse<List<ServiceHealth>>(list1,1,true,BigInteger.valueOf(1));
63 //id:huangleibo1,name:huangleibo,modifyIndex:1,createIndex:1
64 //id:huangleibo2,name:huangleibo,modifyIndex:1,createIndex:1
65 //size different,return true
66 Assert.assertTrue(filter.filter(object1));
68 //////////////////////////////////////////////////////////////////////////
69 List<ServiceHealth> list2 = new ArrayList<ServiceHealth>();
71 //id:huangleibo3,name:huangleibo,modifyIndex:1,createIndex:1
72 ImmutableService service2 = ImmutableService.builder().id("huangleibo3").port(0).address("")
73 .service("huangleibo").addTags("").createIndex(1).modifyIndex(1).build();
74 ServiceHealth serviceHealth2 = ImmutableServiceHealth.builder()
76 .node(ImmutableNode.builder().node("").address("").build())
78 list2.add(serviceHealth0);
79 list2.add(serviceHealth2);
81 ConsulResponse<List<ServiceHealth>> object2 = new ConsulResponse<List<ServiceHealth>>(list2,1,true,BigInteger.valueOf(1));
84 //id:huangleibo1,name:huangleibo,modifyIndex:1,createIndex:1
85 //id:huangleibo3,name:huangleibo,modifyIndex:1,createIndex:1
86 //instance id different,return true
87 Assert.assertTrue(filter.filter(object2));
90 //////////////////////////////////////////////////////////////////////////
91 List<ServiceHealth> list3 = new ArrayList<ServiceHealth>();
93 //edit modifyindex 1 to 2
94 Service service3 = service2.withModifyIndex(2);
95 ServiceHealth serviceHealth3 = ImmutableServiceHealth.builder()
97 .node(ImmutableNode.builder().node("").address("").build())
99 list3.add(serviceHealth0);
100 list3.add(serviceHealth3);
102 ConsulResponse<List<ServiceHealth>> object3 = new ConsulResponse<List<ServiceHealth>>(list3,1,true,BigInteger.valueOf(1));
105 //id:huangleibo1,name:huangleibo,modifyIndex:1,createIndex:1
106 //id:huangleibo3,name:huangleibo,modifyIndex:2,createIndex:1
107 //modifyIndex different,return true
108 Assert.assertTrue(filter.filter(object3));
110 //the same content,return false
111 Assert.assertFalse(filter.filter(object3));