Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cb-kit-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
</scm>

<properties>
<jackson.version>2.16.1</jackson.version>
<jackson.version>2.18.9</jackson.version>
</properties>

<dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import io.cloudbeat.common.client.CbClientException;
import io.cloudbeat.common.client.RetrofitApiBase;
import io.cloudbeat.common.client.dto.CaseStatusInfoDto;
import io.cloudbeat.common.client.dto.CaseStatusUpdateRequest;
import io.cloudbeat.common.client.dto.LoadTestMetricsUpdateRequest;
import io.cloudbeat.common.client.dto.SuiteStatusUpdateRequest;
import io.cloudbeat.common.client.dto.TestStatusRequest;
import io.cloudbeat.common.model.runtime.NewInstanceOptions;
import io.cloudbeat.common.model.runtime.NewRunOptions;
Expand Down Expand Up @@ -71,4 +73,12 @@ else if (status.get() == TestStatus.SKIPPED)
}
executeAsync(retroApi.updateTestCaseStatus(req));
}

public void updateRuntimeCaseStatus(CaseStatusUpdateRequest request) throws CbClientException {
executeAsync(retroApi.updateRuntimeCaseStatus(request.getRunId(), request.getInstanceId(), request));
}

public void updateRuntimeSuiteStatus(SuiteStatusUpdateRequest request) throws CbClientException {
executeAsync(retroApi.updateRuntimeSuiteStatus(request.getRunId(), request.getInstanceId(), request));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package io.cloudbeat.common.client.api;

import io.cloudbeat.common.client.dto.CaseStatusUpdateRequest;
import io.cloudbeat.common.client.dto.LoadTestMetricsUpdateRequest;
import io.cloudbeat.common.client.dto.SuiteStatusUpdateRequest;
import io.cloudbeat.common.client.dto.TestStatusRequest;
import retrofit2.Call;
import retrofit2.http.Body;
Expand All @@ -12,4 +14,8 @@ public interface GatewayApiRetro {
Call<Void> updateTestCaseStatus(@Body TestStatusRequest statusRequest);
@POST("testresult/load/run/{runId}/instance/{instanceId}/metrics")
Call<Void> updateLoadTestMetrics(@Path("runId") String runId, @Path("instanceId") String instanceId, @Body LoadTestMetricsUpdateRequest request);
@POST("testresult/runtime/run/{runId}/instance/{instanceId}/case/status")
Call<Void> updateRuntimeCaseStatus(@Path("runId") String runId, @Path("instanceId") String instanceId, @Body CaseStatusUpdateRequest request);
@POST("testresult/runtime/run/{runId}/instance/{instanceId}/suite/status")
Call<Void> updateRuntimeSuiteStatus(@Path("runId") String runId, @Path("instanceId") String instanceId, @Body SuiteStatusUpdateRequest request);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
package io.cloudbeat.common.client.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.cloudbeat.common.reporter.model.TestStatus;
import io.cloudbeat.common.reporter.serializer.TestStatusSerializer;

/**
* Request body for the new Redis-backed runtime status API:
* POST runtime/run/{runId}/instance/{instanceId}/case/status
* Field shape mirrors CaseStatusUpdateRequest in cb-new-arch (and its Node/.NET equivalents).
*/
public class CaseStatusUpdateRequest {
private Long timestamp;
private String runId;
private String instanceId;
private String id;
private String fqn;
private String parentFqn;
private String parentId;
private String parentName;
private String name;
private String displayName;
private Long startTime;
private Long endTime;
private RunStatusEnum runStatus;
@JsonSerialize(using = TestStatusSerializer.class)
private TestStatus testStatus;
private String framework;
private String language;

public Long getTimestamp() {
return timestamp;
}

public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}

public String getRunId() {
return runId;
}

public void setRunId(String runId) {
this.runId = runId;
}

public String getInstanceId() {
return instanceId;
}

public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getFqn() {
return fqn;
}

public void setFqn(String fqn) {
this.fqn = fqn;
}

public String getParentFqn() {
return parentFqn;
}

public void setParentFqn(String parentFqn) {
this.parentFqn = parentFqn;
}

public String getParentId() {
return parentId;
}

public void setParentId(String parentId) {
this.parentId = parentId;
}

public String getParentName() {
return parentName;
}

public void setParentName(String parentName) {
this.parentName = parentName;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDisplayName() {
return displayName;
}

public void setDisplayName(String displayName) {
this.displayName = displayName;
}

public Long getStartTime() {
return startTime;
}

public void setStartTime(Long startTime) {
this.startTime = startTime;
}

public Long getEndTime() {
return endTime;
}

public void setEndTime(Long endTime) {
this.endTime = endTime;
}

public RunStatusEnum getRunStatus() {
return runStatus;
}

public void setRunStatus(RunStatusEnum runStatus) {
this.runStatus = runStatus;
}

public TestStatus getTestStatus() {
return testStatus;
}

public void setTestStatus(TestStatus testStatus) {
this.testStatus = testStatus;
}

public String getFramework() {
return framework;
}

public void setFramework(String framework) {
this.framework = framework;
}

public String getLanguage() {
return language;
}

public void setLanguage(String language) {
this.language = language;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package io.cloudbeat.common.client.dto;

import com.fasterxml.jackson.annotation.JsonValue;

/**
* Lifecycle status for the new runtime/case/suite status API, numerically aligned with the
* platform-wide contract (matches CloudBeat.Infrastructure.Models RunStatus in cb-new-arch and
* the RunStatusEnum used by the Node/.NET reporters).
*/
public enum RunStatusEnum {
PENDING(0),
INITIALIZING(1),
RUNNING(2),
FINISHED(3),
CANCELED(5);

private final int value;

RunStatusEnum(final int value) {
this.value = value;
}

@JsonValue
public int getValue() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
package io.cloudbeat.common.client.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.cloudbeat.common.reporter.model.TestStatus;
import io.cloudbeat.common.reporter.serializer.TestStatusSerializer;

/**
* Request body for the new Redis-backed runtime status API:
* POST runtime/run/{runId}/instance/{instanceId}/suite/status
* Field shape mirrors SuiteStatusUpdateRequest in cb-new-arch (and its Node/.NET equivalents).
*/
public class SuiteStatusUpdateRequest {
private Long timestamp;
private String runId;
private String instanceId;
private String id;
private String fqn;
private String parentFqn;
private String parentId;
private String parentName;
private String name;
private Long startTime;
private Long endTime;
private RunStatusEnum runStatus;
@JsonSerialize(using = TestStatusSerializer.class)
private TestStatus testStatus;
private String framework;
private String language;

public Long getTimestamp() {
return timestamp;
}

public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}

public String getRunId() {
return runId;
}

public void setRunId(String runId) {
this.runId = runId;
}

public String getInstanceId() {
return instanceId;
}

public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getFqn() {
return fqn;
}

public void setFqn(String fqn) {
this.fqn = fqn;
}

public String getParentFqn() {
return parentFqn;
}

public void setParentFqn(String parentFqn) {
this.parentFqn = parentFqn;
}

public String getParentId() {
return parentId;
}

public void setParentId(String parentId) {
this.parentId = parentId;
}

public String getParentName() {
return parentName;
}

public void setParentName(String parentName) {
this.parentName = parentName;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Long getStartTime() {
return startTime;
}

public void setStartTime(Long startTime) {
this.startTime = startTime;
}

public Long getEndTime() {
return endTime;
}

public void setEndTime(Long endTime) {
this.endTime = endTime;
}

public RunStatusEnum getRunStatus() {
return runStatus;
}

public void setRunStatus(RunStatusEnum runStatus) {
this.runStatus = runStatus;
}

public TestStatus getTestStatus() {
return testStatus;
}

public void setTestStatus(TestStatus testStatus) {
this.testStatus = testStatus;
}

public String getFramework() {
return framework;
}

public void setFramework(String framework) {
this.framework = framework;
}

public String getLanguage() {
return language;
}

public void setLanguage(String language) {
this.language = language;
}
}
Loading