use the new RunScenarioModel, and can pass the old tests as well as my
newest added one
This commit is contained in:
parent
b0ff48e44c
commit
bfa9e7966d
|
@ -0,0 +1,39 @@
|
||||||
|
package org.bench4q.master.helper;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bench4q.share.models.agent.ParameterModel;
|
||||||
|
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
|
||||||
|
import org.bench4q.share.models.agent.scriptrecord.UserBehaviorModel;
|
||||||
|
|
||||||
|
import ModelTest.Page;
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
|
public class RunScenarioModelHelper {
|
||||||
|
public static List<BatchBehavior> getBatches(
|
||||||
|
RunScenarioModelNew runScenarioModelNew) {
|
||||||
|
List<BatchBehavior> result = new ArrayList<BatchBehavior>();
|
||||||
|
for (Page page : runScenarioModelNew.getPages()) {
|
||||||
|
result.addAll(page.getBatches());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UserBehaviorModel createUserBehaviorModel(int id, String use,
|
||||||
|
String name, List<ParameterModel> parameterModels) {
|
||||||
|
UserBehaviorModel userBehaviorModel = new UserBehaviorModel();
|
||||||
|
userBehaviorModel.setUse(use);
|
||||||
|
userBehaviorModel.setId(id);
|
||||||
|
userBehaviorModel.setName(name);
|
||||||
|
userBehaviorModel.setParameters(parameterModels);
|
||||||
|
return userBehaviorModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ParameterModel createParameterModel(String key, String value) {
|
||||||
|
ParameterModel parameterModel = new ParameterModel();
|
||||||
|
parameterModel.setKey(key);
|
||||||
|
parameterModel.setValue(value);
|
||||||
|
return parameterModel;
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,23 +8,30 @@ import javax.xml.bind.JAXBContext;
|
||||||
import javax.xml.bind.JAXBException;
|
import javax.xml.bind.JAXBException;
|
||||||
import javax.xml.bind.Marshaller;
|
import javax.xml.bind.Marshaller;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
import org.bench4q.master.helper.MarshalHelper;
|
import org.bench4q.master.helper.MarshalHelper;
|
||||||
|
import org.bench4q.master.helper.RunScenarioModelHelper;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
||||||
import org.bench4q.share.models.agent.ParameterModel;
|
import org.bench4q.share.models.agent.ParameterModel;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
|
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
|
||||||
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
||||||
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
||||||
|
|
||||||
public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
import ModelTest.Page;
|
||||||
private RunScenarioModel runScenarioModel;
|
import ModelTest.RunScenarioModelNew;
|
||||||
private List<ChildrenUrl> childrenUrls = new ArrayList<ChildrenUrl>();
|
|
||||||
|
|
||||||
public RunScenarioModel getRunScenarioModel() {
|
public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
||||||
|
private int pageCount;
|
||||||
|
private RunScenarioModelNew runScenarioModel;
|
||||||
|
private List<ChildrenUrl> childrenUrls = new ArrayList<ChildrenUrl>();
|
||||||
|
private static Logger logger = Logger
|
||||||
|
.getLogger(Bench4qTestScriptAdapter.class);
|
||||||
|
|
||||||
|
public RunScenarioModelNew getRunScenarioModel() {
|
||||||
return runScenarioModel;
|
return runScenarioModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setRunScenarioModel(RunScenarioModel runScenarioModel) {
|
private void setRunScenarioModel(RunScenarioModelNew runScenarioModel) {
|
||||||
this.runScenarioModel = runScenarioModel;
|
this.runScenarioModel = runScenarioModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,27 +43,46 @@ public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
||||||
this.childrenUrls = childrenUrls;
|
this.childrenUrls = childrenUrls;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bench4qTestScriptAdapter(RunScenarioModel runScenarioModel) {
|
private int getPageCount() {
|
||||||
|
return pageCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPageCount(int pageCount) {
|
||||||
|
this.pageCount = pageCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Bench4qTestScriptAdapter(RunScenarioModelNew runScenarioModel) {
|
||||||
this.runScenarioModel = runScenarioModel;
|
this.runScenarioModel = runScenarioModel;
|
||||||
this.setChildrenUrls(new ArrayList<ChildrenUrl>());
|
this.setChildrenUrls(new ArrayList<ChildrenUrl>());
|
||||||
|
this.setPageCount(0);
|
||||||
|
initWithOnePage();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initWithOnePage() {
|
||||||
|
addPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void appendUsePluginsToScenario(List<UsePluginModel> usePluginModels) {
|
public void appendUsePluginsToScenario(List<UsePluginModel> usePluginModels) {
|
||||||
this.runScenarioModel.setUsePlugins(usePluginModels);
|
this.runScenarioModel.setUsePlugins(usePluginModels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addPage() {
|
||||||
|
this.setPageCount(this.getPageCount() + 1);
|
||||||
|
this.getRunScenarioModel().getPages().add(new Page());
|
||||||
|
assert (pageCountEqualWithPageSizeInScenario());
|
||||||
|
}
|
||||||
|
|
||||||
public void insertUserBehaviorsToScenario(BehaviorBaseModel model) {
|
public void insertUserBehaviorsToScenario(BehaviorBaseModel model) {
|
||||||
List<BatchBehavior> batches = this.getRunScenarioModel().getBatches();
|
List<BatchBehavior> batches = this.getCurrentPage().getBatches();
|
||||||
int parentBatchId = -1;
|
int parentBatchId = -1;
|
||||||
assert (batches != null);
|
assert (batches != null);
|
||||||
parentBatchId = getUrlParentBatch(model);
|
parentBatchId = getUrlParentBatch(model);
|
||||||
if (isIndependent(parentBatchId)) {
|
if (isIndependent(parentBatchId)) {
|
||||||
batches.add(createBatchBehavior(model, batches.size()));
|
batches.add(createBatchBehaviorWithProperBatchId(model));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (isChildBatchAbsent(batches, parentBatchId)) {
|
if (isChildBatchAbsent(batches, parentBatchId)) {
|
||||||
BatchBehavior batchBehavior = createBatchBehavior(model,
|
BatchBehavior batchBehavior = createBatchBehaviorWithProperBatchId(model);
|
||||||
batches.size());
|
|
||||||
batchBehavior.setParentId(parentBatchId);
|
batchBehavior.setParentId(parentBatchId);
|
||||||
batches.add(batchBehavior);
|
batches.add(batchBehavior);
|
||||||
batches.get(parentBatchId).setChildId(batches.size() - 1);
|
batches.get(parentBatchId).setChildId(batches.size() - 1);
|
||||||
|
@ -66,10 +92,25 @@ public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
||||||
.add(model);
|
.add(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BatchBehavior createBatchBehavior(BehaviorBaseModel model,
|
private Page getCurrentPage() {
|
||||||
int batchId) {
|
if (!pageCountEqualWithPageSizeInScenario()) {
|
||||||
|
logger.error("The page count is not equal with the size of scenario pages");
|
||||||
|
return new Page();
|
||||||
|
}
|
||||||
|
return this.getRunScenarioModel().getPages()
|
||||||
|
.get(this.getPageCount() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean pageCountEqualWithPageSizeInScenario() {
|
||||||
|
return this.getPageCount() == this.getRunScenarioModel().getPages()
|
||||||
|
.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
private BatchBehavior createBatchBehaviorWithProperBatchId(
|
||||||
|
BehaviorBaseModel model) {
|
||||||
BatchBehavior batchBehavior = new BatchBehavior();
|
BatchBehavior batchBehavior = new BatchBehavior();
|
||||||
batchBehavior.setId(batchId);
|
batchBehavior.setId(RunScenarioModelHelper.getBatches(
|
||||||
|
this.runScenarioModel).size());
|
||||||
batchBehavior.setParentId(-1);
|
batchBehavior.setParentId(-1);
|
||||||
batchBehavior.setChildId(-1);
|
batchBehavior.setChildId(-1);
|
||||||
List<BehaviorBaseModel> behaviors = new ArrayList<BehaviorBaseModel>();
|
List<BehaviorBaseModel> behaviors = new ArrayList<BehaviorBaseModel>();
|
||||||
|
@ -117,10 +158,10 @@ public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getParentBatchIdWithParentUrl(String url) {
|
public int getParentBatchIdWithParentUrl(String url) {
|
||||||
for (int batchId = 0; batchId < this.getRunScenarioModel().getBatches()
|
List<BatchBehavior> batchesInScenario = RunScenarioModelHelper
|
||||||
.size(); batchId++) {
|
.getBatches(this.getRunScenarioModel());
|
||||||
BatchBehavior batch = this.getRunScenarioModel().getBatches()
|
for (int batchId = 0; batchId < batchesInScenario.size(); batchId++) {
|
||||||
.get(batchId);
|
BatchBehavior batch = batchesInScenario.get(batchId);
|
||||||
for (BehaviorBaseModel behavior : batch.getBehaviors()) {
|
for (BehaviorBaseModel behavior : batch.getBehaviors()) {
|
||||||
for (ParameterModel parameter : behavior.getParameters()) {
|
for (ParameterModel parameter : behavior.getParameters()) {
|
||||||
if (parameter.getKey().equals("url")
|
if (parameter.getKey().equals("url")
|
||||||
|
@ -149,11 +190,11 @@ public class Bench4qTestScriptAdapter implements IScriptAdapter {
|
||||||
|
|
||||||
public void setText(String text) {
|
public void setText(String text) {
|
||||||
if (text.isEmpty()) {
|
if (text.isEmpty()) {
|
||||||
this.setRunScenarioModel(new RunScenarioModel());
|
this.setRunScenarioModel(new RunScenarioModelNew());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.runScenarioModel = (RunScenarioModel) MarshalHelper.unmarshal(
|
this.runScenarioModel = (RunScenarioModelNew) MarshalHelper.unmarshal(
|
||||||
RunScenarioModel.class, text);
|
RunScenarioModelNew.class, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.concurrent.Executors;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public class HttpCapture {
|
public class HttpCapture {
|
||||||
private int localport;
|
private int localport;
|
||||||
|
@ -93,7 +93,7 @@ public class HttpCapture {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
this.currentTest = new Test(this.proxy, new Bench4qTestScriptAdapter(
|
this.currentTest = new Test(this.proxy, new Bench4qTestScriptAdapter(
|
||||||
new RunScenarioModel()), generator);
|
new RunScenarioModelNew()), generator);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startProxyServer() throws IOException, Utils.UserException {
|
public void startProxyServer() throws IOException, Utils.UserException {
|
||||||
|
|
|
@ -3,13 +3,14 @@ package org.bench4q.master.scriptrecord.httpcapture;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
||||||
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
||||||
|
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public interface IScriptAdapter {
|
public interface IScriptAdapter {
|
||||||
|
|
||||||
public abstract RunScenarioModel getRunScenarioModel();
|
public abstract RunScenarioModelNew getRunScenarioModel();
|
||||||
|
|
||||||
public abstract void appendUsePluginsToScenario(
|
public abstract void appendUsePluginsToScenario(
|
||||||
List<UsePluginModel> usePluginModels);
|
List<UsePluginModel> usePluginModels);
|
||||||
|
@ -26,4 +27,6 @@ public interface IScriptAdapter {
|
||||||
public abstract int getParentBatchIdWithParentUrl(String url);
|
public abstract int getParentBatchIdWithParentUrl(String url);
|
||||||
|
|
||||||
public abstract boolean isInChildrenUrl(String url);
|
public abstract boolean isInChildrenUrl(String url);
|
||||||
|
|
||||||
|
public abstract void addPage();
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,10 @@ import org.bench4q.master.scriptrecord.httpcapture.Param;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.ProxyServer;
|
import org.bench4q.master.scriptrecord.httpcapture.ProxyServer;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.Utils;
|
import org.bench4q.master.scriptrecord.httpcapture.Utils;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.Utils.UserException;
|
import org.bench4q.master.scriptrecord.httpcapture.Utils.UserException;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
|
||||||
|
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public abstract class AbstractCodeGenerator implements IScriptGenerator,
|
public abstract class AbstractCodeGenerator implements IScriptGenerator,
|
||||||
ProxyServer.Observer, Runnable {
|
ProxyServer.Observer, Runnable {
|
||||||
private Config config = Config.getConfig();
|
private Config config = Config.getConfig();
|
||||||
|
@ -130,7 +131,7 @@ public abstract class AbstractCodeGenerator implements IScriptGenerator,
|
||||||
public boolean doSave(String path, String fileName) {
|
public boolean doSave(String path, String fileName) {
|
||||||
String name = fileName;
|
String name = fileName;
|
||||||
int dotPos = fileName.indexOf(".");
|
int dotPos = fileName.indexOf(".");
|
||||||
RunScenarioModel runScenarioModel = this.scriptAdapter
|
RunScenarioModelNew runScenarioModel = this.scriptAdapter
|
||||||
.getRunScenarioModel();
|
.getRunScenarioModel();
|
||||||
FileWriter fileWriter;
|
FileWriter fileWriter;
|
||||||
|
|
||||||
|
@ -330,6 +331,9 @@ public abstract class AbstractCodeGenerator implements IScriptGenerator,
|
||||||
|
|
||||||
public void processResponse(HttpRequestHeader header, byte[] requestBody,
|
public void processResponse(HttpRequestHeader header, byte[] requestBody,
|
||||||
byte[] response) throws Exception {
|
byte[] response) throws Exception {
|
||||||
|
if (isFirstRequest()) {
|
||||||
|
|
||||||
|
}
|
||||||
if (this.ignoreNextResponse) {
|
if (this.ignoreNextResponse) {
|
||||||
log.debug("Ignoring response");
|
log.debug("Ignoring response");
|
||||||
this.ignoreNextResponse = false;
|
this.ignoreNextResponse = false;
|
||||||
|
@ -369,7 +373,6 @@ public abstract class AbstractCodeGenerator implements IScriptGenerator,
|
||||||
while (!(Thread.interrupted())) {
|
while (!(Thread.interrupted())) {
|
||||||
synchronized (this.outstandingInserts) {
|
synchronized (this.outstandingInserts) {
|
||||||
this.outstandingInserts.wait();
|
this.outstandingInserts.wait();
|
||||||
|
|
||||||
while (this.outstandingInserts.size() > 0) {
|
while (this.outstandingInserts.size() > 0) {
|
||||||
BehaviorBaseModel behaviorModel = this.outstandingInserts
|
BehaviorBaseModel behaviorModel = this.outstandingInserts
|
||||||
.removeFirst();
|
.removeFirst();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package ModelTest;
|
package ModelTest;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
@ -22,4 +23,7 @@ public class Page {
|
||||||
this.batches = batches;
|
this.batches = batches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Page() {
|
||||||
|
this.setBatches(new ArrayList<BatchBehavior>());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,5 +46,6 @@ public class RunScenarioModelNew {
|
||||||
|
|
||||||
public RunScenarioModelNew() {
|
public RunScenarioModelNew() {
|
||||||
this.setUsePlugins(new ArrayList<UsePluginModel>());
|
this.setUsePlugins(new ArrayList<UsePluginModel>());
|
||||||
|
this.setPages(new ArrayList<Page>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package org.bench4q.master.test.recordscript;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bench4q.master.helper.RunScenarioModelHelper;
|
||||||
|
import org.bench4q.master.scriptrecord.httpcapture.Bench4qTestScriptAdapter;
|
||||||
|
import org.bench4q.share.models.agent.ParameterModel;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
|
public class TestBench4qTestScriptAdapter {
|
||||||
|
private Bench4qTestScriptAdapter bench4qTestScriptAdapter;
|
||||||
|
|
||||||
|
private Bench4qTestScriptAdapter getBench4qTestScriptAdapter() {
|
||||||
|
return bench4qTestScriptAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setBench4qTestScriptAdapter(
|
||||||
|
Bench4qTestScriptAdapter bench4qTestScriptAdapter) {
|
||||||
|
this.bench4qTestScriptAdapter = bench4qTestScriptAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBench4qTestScriptAdapter() {
|
||||||
|
this.setBench4qTestScriptAdapter(new Bench4qTestScriptAdapter(
|
||||||
|
new RunScenarioModelNew()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInsertUserBehaviorsToScenario() {
|
||||||
|
List<ParameterModel> params = new ArrayList<ParameterModel>();
|
||||||
|
params.add(RunScenarioModelHelper.createParameterModel("url",
|
||||||
|
"www.baidu.com"));
|
||||||
|
this.getBench4qTestScriptAdapter().insertUserBehaviorsToScenario(
|
||||||
|
RunScenarioModelHelper.createUserBehaviorModel(0, "http",
|
||||||
|
"get", params));
|
||||||
|
assertEquals(
|
||||||
|
1,
|
||||||
|
RunScenarioModelHelper.getBatches(
|
||||||
|
this.getBench4qTestScriptAdapter()
|
||||||
|
.getRunScenarioModel()).size());
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,12 +17,13 @@ import org.bench4q.master.scriptrecord.httpcapture.generator.Bench4qCodeGenerato
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.ContentDecoder;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.ContentDecoder;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.IScriptGenerator;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.IScriptGenerator;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.ResponseParser;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.ResponseParser;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public class TestCodeGenerator extends TestRecordBase {
|
public class TestCodeGenerator extends TestRecordBase {
|
||||||
private Bench4qTestScriptAdapter scriptAdapter = new Bench4qTestScriptAdapter(
|
private Bench4qTestScriptAdapter scriptAdapter = new Bench4qTestScriptAdapter(
|
||||||
new RunScenarioModel());
|
new RunScenarioModelNew());
|
||||||
private Bench4qCodeGenerator codeGenerator = new Bench4qCodeGenerator(
|
private Bench4qCodeGenerator codeGenerator = new Bench4qCodeGenerator(
|
||||||
this.scriptAdapter);
|
this.scriptAdapter);
|
||||||
public static String dealWithSerie = "RecordScriptTestCase/gzip/gzipBaiduIR";
|
public static String dealWithSerie = "RecordScriptTestCase/gzip/gzipBaiduIR";
|
||||||
|
|
|
@ -5,15 +5,17 @@ import static org.junit.Assert.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bench4q.master.helper.RunScenarioModelHelper;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.Bench4qTestScriptAdapter;
|
import org.bench4q.master.scriptrecord.httpcapture.Bench4qTestScriptAdapter;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.IScriptAdapter;
|
import org.bench4q.master.scriptrecord.httpcapture.IScriptAdapter;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
|
||||||
import org.bench4q.share.models.agent.ParameterModel;
|
import org.bench4q.share.models.agent.ParameterModel;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
|
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
|
||||||
import org.bench4q.share.models.agent.scriptrecord.UserBehaviorModel;
|
import org.bench4q.share.models.agent.scriptrecord.UserBehaviorModel;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public class TestParentRequest {
|
public class TestParentRequest {
|
||||||
private IScriptAdapter adapater;
|
private IScriptAdapter adapater;
|
||||||
private static String parentUrl = "www.apache.com";
|
private static String parentUrl = "www.apache.com";
|
||||||
|
@ -31,7 +33,7 @@ public class TestParentRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
public TestParentRequest() {
|
public TestParentRequest() {
|
||||||
this.setAdapater(new Bench4qTestScriptAdapter(new RunScenarioModel()));
|
this.setAdapater(new Bench4qTestScriptAdapter(new RunScenarioModelNew()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -39,11 +41,11 @@ public class TestParentRequest {
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(parentUrl));
|
createUserBehavior(parentUrl));
|
||||||
assertNotNull(this.getAdapater().getRunScenarioModel());
|
assertNotNull(this.getAdapater().getRunScenarioModel());
|
||||||
assertNotNull(this.getAdapater().getRunScenarioModel().getBatches());
|
List<BatchBehavior> batches = RunScenarioModelHelper.getBatches(this
|
||||||
assertNotNull(this.getAdapater().getRunScenarioModel().getBatches()
|
.getAdapater().getRunScenarioModel());
|
||||||
.get(0));
|
assertNotNull(batches);
|
||||||
assertTrue(this.getAdapater().getRunScenarioModel().getBatches().get(0)
|
assertNotNull(batches.get(0));
|
||||||
.getId() == 0);
|
assertTrue(batches.get(0).getId() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,17 +60,19 @@ public class TestParentRequest {
|
||||||
createUserBehavior(independentUrl));
|
createUserBehavior(independentUrl));
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(independentUrl2));
|
createUserBehavior(independentUrl2));
|
||||||
RunScenarioModel runScenarioModel = this.getAdapater()
|
RunScenarioModelNew runScenarioModel = this.getAdapater()
|
||||||
.getRunScenarioModel();
|
.getRunScenarioModel();
|
||||||
assertNotNull(runScenarioModel);
|
assertNotNull(runScenarioModel);
|
||||||
assertNotNull(runScenarioModel.getBatches());
|
List<BatchBehavior> batches = RunScenarioModelHelper
|
||||||
assertTrue(runScenarioModel.getBatches().size() == 3);
|
.getBatches(runScenarioModel);
|
||||||
assertTrue(runScenarioModel.getBatches().get(1).getBehaviors().size() == 1);
|
assertNotNull(batches);
|
||||||
assertTrue(runScenarioModel.getBatches().get(2).getBehaviors().size() == 1);
|
assertTrue(batches.size() == 3);
|
||||||
assertTrue(runScenarioModel.getBatches().get(1).getBehaviors().get(0)
|
assertTrue(batches.get(1).getBehaviors().size() == 1);
|
||||||
.getParameters().get(0).getValue().equals(independentUrl));
|
assertTrue(batches.get(2).getBehaviors().size() == 1);
|
||||||
assertTrue(runScenarioModel.getBatches().get(2).getBehaviors().get(0)
|
assertTrue(batches.get(1).getBehaviors().get(0).getParameters().get(0)
|
||||||
.getParameters().get(0).getValue().equals(independentUrl2));
|
.getValue().equals(independentUrl));
|
||||||
|
assertTrue(batches.get(2).getBehaviors().get(0).getParameters().get(0)
|
||||||
|
.getValue().equals(independentUrl2));
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserBehaviorModel createUserBehavior(String url) {
|
private UserBehaviorModel createUserBehavior(String url) {
|
||||||
|
@ -93,13 +97,14 @@ public class TestParentRequest {
|
||||||
.add(createChildrenUrl(childUrl, 0));
|
.add(createChildrenUrl(childUrl, 0));
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(childUrl));
|
createUserBehavior(childUrl));
|
||||||
RunScenarioModel runScenarioModel = this.getAdapater()
|
RunScenarioModelNew runScenarioModel = this.getAdapater()
|
||||||
.getRunScenarioModel();
|
.getRunScenarioModel();
|
||||||
assertNotNull(runScenarioModel);
|
assertNotNull(runScenarioModel);
|
||||||
assertNotNull(runScenarioModel.getBatches());
|
List<BatchBehavior> batches = RunScenarioModelHelper
|
||||||
assertNotNull(runScenarioModel.getBatches().get(0));
|
.getBatches(runScenarioModel);
|
||||||
assertNotNull(runScenarioModel.getBatches().get(1));
|
assertNotNull(batches);
|
||||||
List<BatchBehavior> batches = runScenarioModel.getBatches();
|
assertNotNull(batches.get(0));
|
||||||
|
assertNotNull(batches.get(1));
|
||||||
assertTrue(batches.get(1).getId() == 1);
|
assertTrue(batches.get(1).getId() == 1);
|
||||||
assertEquals(batches.get(0).getChildId(), batches.get(1).getId());
|
assertEquals(batches.get(0).getChildId(), batches.get(1).getId());
|
||||||
assertEquals(batches.get(1).getParentId(), batches.get(0).getId());
|
assertEquals(batches.get(1).getParentId(), batches.get(0).getId());
|
||||||
|
@ -124,8 +129,8 @@ public class TestParentRequest {
|
||||||
createUserBehavior(childUrl));
|
createUserBehavior(childUrl));
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(independentUrl));
|
createUserBehavior(independentUrl));
|
||||||
List<BatchBehavior> batches = this.getAdapater().getRunScenarioModel()
|
List<BatchBehavior> batches = RunScenarioModelHelper.getBatches(this
|
||||||
.getBatches();
|
.getAdapater().getRunScenarioModel());
|
||||||
assertTrue(batches.get(1).getBehaviors().size() == 1);
|
assertTrue(batches.get(1).getBehaviors().size() == 1);
|
||||||
assertTrue(batches.get(2).getBehaviors().size() == 1);
|
assertTrue(batches.get(2).getBehaviors().size() == 1);
|
||||||
assertTrue(batches.get(1).getBehaviors().get(0).getParameters().get(0)
|
assertTrue(batches.get(1).getBehaviors().get(0).getParameters().get(0)
|
||||||
|
@ -148,8 +153,8 @@ public class TestParentRequest {
|
||||||
createUserBehavior(childUrl));
|
createUserBehavior(childUrl));
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(childUrl2));
|
createUserBehavior(childUrl2));
|
||||||
List<BatchBehavior> batches = this.getAdapater().getRunScenarioModel()
|
List<BatchBehavior> batches = RunScenarioModelHelper.getBatches(this
|
||||||
.getBatches();
|
.getAdapater().getRunScenarioModel());
|
||||||
System.out.println(batches.size());
|
System.out.println(batches.size());
|
||||||
assertTrue(batches.size() == 2);
|
assertTrue(batches.size() == 2);
|
||||||
assertTrue(batches.get(0).getBehaviors().get(0).getParameters().get(0)
|
assertTrue(batches.get(0).getBehaviors().get(0).getParameters().get(0)
|
||||||
|
@ -176,7 +181,8 @@ public class TestParentRequest {
|
||||||
createUserBehavior(independentUrl));
|
createUserBehavior(independentUrl));
|
||||||
this.getAdapater().insertUserBehaviorsToScenario(
|
this.getAdapater().insertUserBehaviorsToScenario(
|
||||||
createUserBehavior(independentUrl2));
|
createUserBehavior(independentUrl2));
|
||||||
assertTrue(this.getAdapater().getRunScenarioModel().getBatches().size() == 4);
|
assertTrue(RunScenarioModelHelper.getBatches(
|
||||||
|
this.getAdapater().getRunScenarioModel()).size() == 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -7,8 +7,8 @@ import org.bench4q.master.scriptrecord.httpcapture.Bench4qTestScriptAdapter;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.IScriptAdapter;
|
import org.bench4q.master.scriptrecord.httpcapture.IScriptAdapter;
|
||||||
import org.bench4q.master.scriptrecord.httpcapture.generator.Bench4qCodeGenerator;
|
import org.bench4q.master.scriptrecord.httpcapture.generator.Bench4qCodeGenerator;
|
||||||
import org.bench4q.share.models.agent.ParameterModel;
|
import org.bench4q.share.models.agent.ParameterModel;
|
||||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
|
||||||
import org.bench4q.share.models.agent.scriptrecord.UserBehaviorModel;
|
import org.bench4q.share.models.agent.scriptrecord.UserBehaviorModel;
|
||||||
|
import ModelTest.RunScenarioModelNew;
|
||||||
|
|
||||||
public abstract class TestRecordBase {
|
public abstract class TestRecordBase {
|
||||||
private IScriptAdapter adapter;
|
private IScriptAdapter adapter;
|
||||||
|
@ -34,7 +34,7 @@ public abstract class TestRecordBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void init() {
|
protected void init() {
|
||||||
this.setAdpater(new Bench4qTestScriptAdapter(new RunScenarioModel()));
|
this.setAdpater(new Bench4qTestScriptAdapter(new RunScenarioModelNew()));
|
||||||
this.setCodeGenerator(new Bench4qCodeGenerator(this.getAdpater()));
|
this.setCodeGenerator(new Bench4qCodeGenerator(this.getAdpater()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue