Skip to content

Commit

Permalink
feat: mergeMocker display&update
Browse files Browse the repository at this point in the history
  • Loading branch information
wildeslam committed Dec 25, 2023
1 parent d397481 commit 65694bb
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ public class AREXMocker implements Mocker {
*/
private Map<String, String> tags;

/**
* index for mergedRecord.
*/
private Integer index;

public AREXMocker() {

}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import com.arextest.model.mock.MergeRecordDTO;
import com.arextest.model.mock.MockCategoryType;
import com.arextest.model.mock.Mocker;
import com.arextest.model.mock.SplitAREXMocker;
import com.arextest.storage.repository.RepositoryProvider;
import com.arextest.storage.repository.RepositoryProviderFactory;
import com.fasterxml.jackson.core.type.TypeReference;
Expand Down Expand Up @@ -39,7 +38,7 @@ public <T extends Mocker> boolean add(String providerName, T item) {
return repositoryWriter != null && repositoryWriter.save(item);
}

public <T extends Mocker> T editMergedMocker(String providerName, SplitAREXMocker item) {
public <T extends Mocker> T editMergedMocker(String providerName, AREXMocker item) {
RepositoryProvider<T> repositoryProvider = providerFactory.findProvider(providerName);
if (repositoryProvider == null) {
LOGGER.warn("Could not found provider for {}", providerName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import com.arextest.model.mock.MockCategoryType;
import com.arextest.model.mock.Mocker;
import com.arextest.model.mock.Mocker.Target;
import com.arextest.model.mock.SplitAREXMocker;
import com.arextest.model.replay.PagedRequestType;
import com.arextest.model.replay.ViewRecordRequestType;
import com.arextest.model.replay.holder.ListResultHolder;
Expand Down Expand Up @@ -141,7 +140,7 @@ private List<AREXMocker> splitMergedMockers(List<AREXMocker> mockerList) {
List<AREXMocker> result = new ArrayList<>();
for (AREXMocker mocker : mockerList) {
if (MERGE_RECORD_OPERATION_NAME.equals(mocker.getOperationName())) {
List<SplitAREXMocker> splitMockers = splitMergedMocker(mocker);
List<AREXMocker> splitMockers = splitMergedMocker(mocker);
if (CollectionUtils.isNotEmpty(splitMockers)) {
result.addAll(splitMockers);
}
Expand All @@ -152,15 +151,15 @@ private List<AREXMocker> splitMergedMockers(List<AREXMocker> mockerList) {
return result;
}

private List<SplitAREXMocker> splitMergedMocker(AREXMocker mocker) {
List<SplitAREXMocker> result = new ArrayList<>();
private List<AREXMocker> splitMergedMocker(AREXMocker mocker) {
List<AREXMocker> result = new ArrayList<>();
String json = mocker.getTargetResponse().getBody();
try {
List<MergeRecordDTO> mergeRecords = objectMapper.readValue(json, new TypeReference<List<MergeRecordDTO>>() {});
for (int i = 0; i < mergeRecords.size(); i++) {
MergeRecordDTO mergeRecord = mergeRecords.get(i);

SplitAREXMocker splitMocker = new SplitAREXMocker();
AREXMocker splitMocker = new AREXMocker();
splitMocker.setAppId(mocker.getAppId());
splitMocker.setCategoryType(mocker.getCategoryType());
splitMocker.setRecordId(mocker.getRecordId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.arextest.model.mock.AREXMocker;
import com.arextest.model.mock.MockCategoryType;
import com.arextest.model.mock.SplitAREXMocker;
import com.arextest.model.response.Response;
import com.arextest.model.response.ResponseStatusType;
import com.arextest.storage.repository.ProviderNames;
Expand Down Expand Up @@ -160,7 +159,7 @@ public Response add(@PathVariable String srcProviderName, @RequestBody AREXMocke
*/
@PostMapping("/pinned/update/")
@ResponseBody
public Response pinnedUpdate(@RequestBody SplitAREXMocker body) {
public Response pinnedUpdate(@RequestBody AREXMocker body) {
return this.update(ProviderNames.PINNED, body);
}

Expand All @@ -172,7 +171,7 @@ public Response pinnedUpdate(@RequestBody SplitAREXMocker body) {
*/
@PostMapping("/update/")
@ResponseBody
public Response update(@RequestHeader String srcProviderName, @RequestBody SplitAREXMocker body) {
public Response update(@RequestHeader String srcProviderName, @RequestBody AREXMocker body) {
Response response = checkRequiredParameters(srcProviderName, body);
if (response != null) {
return response;
Expand All @@ -181,17 +180,16 @@ public Response update(@RequestHeader String srcProviderName, @RequestBody Spli

try {
Integer index = body.getIndex();
boolean updateResult = false;
if (index != null) {
// splitMocker
AREXMocker mocker = editableService.editMergedMocker(srcProviderName, body);
body = mocker;
if (mocker == null) {
return ResponseUtils.resourceNotFoundResponse();
}
updateResult = editableService.update(srcProviderName, mocker);
} else {
updateResult = editableService.update(srcProviderName, body);
}
boolean updateResult = editableService.update(srcProviderName, body);


if (updateResult) {
storageCache.removeRecord(srcProviderName, category, body.getRecordId());
Expand Down

0 comments on commit 65694bb

Please sign in to comment.