Jagger
 All Classes Namespaces Files Functions Variables Groups Pages
JTestDefinition.java
Go to the documentation of this file.
1 package com.griddynamics.jagger.user.test.configurations;
2 
3 import com.griddynamics.jagger.engine.e1.collector.ResponseValidator;
4 import com.griddynamics.jagger.invoker.Invoker;
5 import com.griddynamics.jagger.invoker.v2.DefaultHttpInvoker;
6 import com.griddynamics.jagger.user.test.configurations.aux.Id;
7 
8 import java.util.Collections;
9 import java.util.List;
10 
26 public class JTestDefinition {
27 
28  private final String id;
29  private final Iterable endpoints;
30 
31  private String comment;
32  private Iterable queries;
33  private Class<? extends Invoker> invoker;
34  private List<Class<? extends ResponseValidator>> validators;
35 
37  this.id = builder.id.value();
38  this.endpoints = builder.endpointsProvider;
39 
40  this.comment = builder.comment;
41  this.queries = builder.queries;
42  this.invoker = builder.invoker;
43  this.validators = builder.validators;
44  }
45 
53  public static Builder builder(Id id, Iterable endpointsProvider) {
54  return new Builder(id, endpointsProvider);
55  }
56 
57  public static class Builder {
58  private final Id id;
59  private final Iterable endpointsProvider;
60 
61  private String comment;
62  private Iterable queries;
63  private Class<? extends Invoker> invoker = DefaultHttpInvoker.class;
64  private List<Class<? extends ResponseValidator>> validators = Collections.emptyList();
65 
66  private Builder(Id id, Iterable endpointsProvider) {
67  this.id = id;
68  this.endpointsProvider = endpointsProvider;
69  }
70 
75  public Builder withComment(String comment) {
76  this.comment = comment;
77  return this;
78  }
79 
86  public Builder withQueryProvider(Iterable queryProvider) {
87  this.queries = queryProvider;
88  return this;
89  }
90 
100  public Builder withInvoker(Class<? extends Invoker> invoker) {
101  this.invoker = invoker;
102  return this;
103  }
104 
114  public Builder withValidators(List<Class<? extends ResponseValidator>> validators) {
115  this.validators = validators;
116  return this;
117  }
118 
125  return new JTestDefinition(this);
126  }
127  }
128 
129  public String getId() {
130  return id;
131  }
132 
133  public String getDescription() {
134  return comment;
135  }
136 
137  public Iterable getEndpoints() {
138  return endpoints;
139  }
140 
141  public Iterable getQueries() {
142  return queries;
143  }
144 
145  public Class<? extends Invoker> getInvoker() {
146  return invoker;
147  }
148 
149  public String getComment() {
150  return comment;
151  }
152 
153  public List<Class<? extends ResponseValidator>> getValidators() {
154  return validators;
155  }
156 }