Browse Source

fix: 修复创建commit客户端中类型转换问题

weijin 4 years ago
parent
commit
e25a78f4b3

+ 4 - 2
seecoder-gitlab-client/src/main/java/com.nju.edu.gitlab/SeecoderGitlabClient.java

@@ -595,8 +595,10 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi {
             Request.Builder builder = new Request.Builder()
                     .addHeader("Authorization", token);
             List<CommitAction> actionList = actions.stream().map(action -> new CommitAction()
-                    .withAction(CommitAction.Action.forValue(action.getAction().toString()))
-                    .withEncoding(CommitAction.Encoding.forValue(action.getEncoding().toString()))
+//                    .withAction(CommitAction.Action.forValue(action.getAction().toString()))
+//                    .withEncoding(CommitAction.Encoding.forValue(action.getEncoding().toString()))
+                    .withAction(Enum.valueOf(CommitAction.Action.class, action.getAction().toString()))
+                    .withEncoding(Enum.valueOf(CommitAction.Encoding.class, action.getEncoding().toString()))
                     .withFilePath(action.getFilepath())
                     .withContent(action.getContent())).collect(Collectors.toList());
             CommitDTO commitDTO = CommitDTO.builder()

+ 27 - 0
seecoder-gitlab-client/src/test/java/GitlabClientTest.java

@@ -1,6 +1,10 @@
+import com.nju.edu.gitlab.SeecoderGitlabClient;
+import com.nju.edu.gitlab.dto.commit.CommitActionForm;
 import okhttp3.OkHttpClient;
 import org.junit.jupiter.api.Test;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 public class GitlabClientTest {
@@ -15,4 +19,27 @@ public class GitlabClientTest {
 
 
     }
+
+    @Test
+    public void testCreateCommit(){
+        SeecoderGitlabClient seecoderGitlabClient = new SeecoderGitlabClient("http://localhost:8081", "Hn7U5MtXLrBmw9-k1jxu");
+        List<CommitActionForm> actionForms = new ArrayList<>();
+        CommitActionForm action = new CommitActionForm();
+        action.setAction(CommitActionForm.Action.UPDATE);
+        action.setEncoding(CommitActionForm.Encoding.TEXT);
+        action.setFilepath("/7-flight/src/flight_time.py");
+        action.setContent("def flight_calculation():\n    print(11212111)\n    # test webhook\n    # enter your code here\n\n\n");
+        actionForms.add(action);
+        try {
+            seecoderGitlabClient.createCommit(
+                    389,
+                    "master",
+                    "commit",
+                    "mf21320155@smail.nju.edu.cn",
+                    "18852002519",
+                    actionForms);
+        } catch (Exception e) {
+            System.out.println(e.toString());
+        }
+    }
 }