You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2019/12/28 07:38:07 UTC

[servicecomb-pack] branch master updated (081bdeb -> b9fb634)

This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git.


    from 081bdeb  SCB-1685 Use containsInAnyOrder instead of contains
     new cb78750  SCB-1694 Improve unit test coverages for APIv1Controller
     new b9fb634  SCB-1694 Rename APIv1ControllerTests.java to APIv1ControllerTest.java

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../servicecomb/pack/alpha/core/api/APIv1.java     |  3 --
 .../pack/alpha/server/api/APIv1Impl.java           |  5 ---
 ...ntrollerTests.java => APIv1ControllerTest.java} | 51 ++++++++++++++++++++--
 3 files changed, 47 insertions(+), 12 deletions(-)
 rename alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/{APIv1ControllerTests.java => APIv1ControllerTest.java} (87%)


[servicecomb-pack] 01/02: SCB-1694 Improve unit test coverages for APIv1Controller

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit cb78750db93cb60700f828126ee1ea429395687e
Author: Lei Zhang <zh...@apache.org>
AuthorDate: Fri Dec 27 21:41:49 2019 +0800

    SCB-1694 Improve unit test coverages for APIv1Controller
---
 .../servicecomb/pack/alpha/core/api/APIv1.java     |  3 --
 .../pack/alpha/server/api/APIv1Impl.java           |  5 ---
 .../alpha/server/api/APIv1ControllerTests.java     | 49 ++++++++++++++++++++--
 3 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/api/APIv1.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/api/APIv1.java
index 9239c1b..67ebcc5 100644
--- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/api/APIv1.java
+++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/api/APIv1.java
@@ -33,9 +33,6 @@ public interface APIv1 {
   PagingGlobalTransactions getTransactions(String state, int page, int size)
       throws Exception;
 
-  PagingGlobalTransactions getTransactions(int page, int size)
-      throws Exception;
-
   Map<String, Long> getTransactionStatistics();
 
   List<GlobalTransaction> getSlowTransactions(int size);
diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/APIv1Impl.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/APIv1Impl.java
index f8ea1d2..edd7b78 100644
--- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/APIv1Impl.java
+++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/APIv1Impl.java
@@ -51,11 +51,6 @@ public class APIv1Impl implements APIv1 {
     return globalTransaction;
   }
 
-  public PagingGlobalTransactions getTransactions(int page, int size)
-      throws Exception {
-    return getTransactions(null, page, size);
-  }
-
   public PagingGlobalTransactions getTransactions(String state, int page, int size)
       throws Exception {
     PagingGlobalTransactions pagingGlobalTransactions = transactionRepository
diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java
index 1169b0b..c20acd9 100644
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java
+++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java
@@ -28,7 +28,9 @@ import com.fasterxml.jackson.core.JsonGenerator.Feature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 import org.apache.servicecomb.pack.alpha.core.NodeStatus;
 import org.apache.servicecomb.pack.alpha.core.NodeStatus.TypeEnum;
@@ -46,11 +48,14 @@ import org.apache.servicecomb.pack.alpha.fsm.repository.TransactionRepository;
 import org.apache.servicecomb.pack.alpha.core.fsm.repository.model.GlobalTransaction;
 import org.apache.servicecomb.pack.alpha.core.fsm.repository.model.PagingGlobalTransactions;
 import org.apache.servicecomb.pack.alpha.core.fsm.repository.model.SagaSubTransaction;
+import org.apache.servicecomb.pack.alpha.server.AlphaApplication;
+import org.apache.servicecomb.pack.alpha.server.AlphaConfig;
 import org.apache.servicecomb.pack.alpha.server.metrics.AlphaMetricsEndpoint;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
 import org.springframework.http.MediaType;
@@ -61,7 +66,8 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 
 @RunWith(SpringRunner.class)
-@WebMvcTest(value = {APIv1Controller.class, AlphaMetricsEndpoint.class})
+@AutoConfigureMockMvc
+@SpringBootTest(classes = {AlphaApplication.class, AlphaConfig.class})
 public class APIv1ControllerTests {
 
   @Autowired
@@ -187,7 +193,7 @@ public class APIv1ControllerTests {
         .globalTransactions(globalTransactions)
         .build();
 
-    when(transactionRepository.getGlobalTransactions(0, 50)).thenReturn(paging);
+    when(transactionRepository.getGlobalTransactions(null,0, 50)).thenReturn(paging);
 
     ObjectMapper mapper = new ObjectMapper();
     mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false);
@@ -307,4 +313,41 @@ public class APIv1ControllerTests {
         .andExpect(jsonPath("$.events", hasSize(8)))
         .andReturn();
   }
+
+  @Test
+  public void transactionStatisticsTest() throws Exception {
+    Map<String, Long> statistics = new HashMap<>();
+    statistics.put("COMMITTED", 1l);
+    statistics.put("SUSPENDED", 2l);
+    statistics.put("COMPENSATED", 3l);
+    when(transactionRepository.getTransactionStatistics()).thenReturn(statistics);
+    mockMvc.perform(get("/alpha/api/v1/transaction/statistics"))
+        .andExpect(status().isOk())
+        .andExpect(
+            MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
+        .andExpect(jsonPath("$.COMMITTED").value(statistics.get("COMMITTED")))
+        .andExpect(jsonPath("$.SUSPENDED").value(statistics.get("SUSPENDED")))
+        .andExpect(jsonPath("$.COMPENSATED").value(statistics.get("COMPENSATED")))
+        .andReturn();
+  }
+
+  @Test
+  public void transactionSlowTest() throws Exception {
+    List<GlobalTransaction> globalTransactions = new ArrayList<>();
+    for(int i=0;i<10;i++){
+      globalTransactions.add(GlobalTransaction.builder()
+          .beginTime(new Date())
+          .endTime(new Date())
+          .events(new ArrayList<>())
+          .subTransactions(new ArrayList<>())
+          .build());
+    }
+    when(transactionRepository.getSlowGlobalTransactionsTopN(10)).thenReturn(globalTransactions);
+    mockMvc.perform(get("/alpha/api/v1/transaction/slow"))
+        .andExpect(status().isOk())
+        .andExpect(
+            MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
+        .andExpect(jsonPath("$", hasSize(10)))
+        .andReturn();
+  }
 }


[servicecomb-pack] 02/02: SCB-1694 Rename APIv1ControllerTests.java to APIv1ControllerTest.java

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit b9fb63435650099ee5a55f3bd785d8f2c33a410a
Author: Lei Zhang <zh...@apache.org>
AuthorDate: Fri Dec 27 23:11:45 2019 +0800

    SCB-1694 Rename APIv1ControllerTests.java to APIv1ControllerTest.java
---
 .../server/api/{APIv1ControllerTests.java => APIv1ControllerTest.java}  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTest.java
similarity index 99%
rename from alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java
rename to alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTest.java
index c20acd9..10fbd49 100644
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTests.java
+++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/api/APIv1ControllerTest.java
@@ -68,7 +68,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 @RunWith(SpringRunner.class)
 @AutoConfigureMockMvc
 @SpringBootTest(classes = {AlphaApplication.class, AlphaConfig.class})
-public class APIv1ControllerTests {
+public class APIv1ControllerTest {
 
   @Autowired
   private MockMvc mockMvc;