diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/models/Address.java | 30 | ||||
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/models/Company.java | 26 | ||||
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/models/Geo.java | 24 | ||||
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/models/Post.java | 41 | ||||
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/models/User.java | 50 | ||||
-rw-r--r-- | src/main/resources/testData.json | 70 |
6 files changed, 240 insertions, 1 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/models/Address.java b/src/main/java/com/mavlushechka/a1qa/models/Address.java new file mode 100644 index 0000000..ca2da32 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/models/Address.java @@ -0,0 +1,30 @@ +package com.mavlushechka.a1qa.models; + +import java.util.Objects; + +public class Address { + + public final String street; + public final String suite; + public final String city; + public final String zipcode; + public final Geo geo; + + + public Address(String street, String suite, String city, String zipcode, Geo geo) { + this.street = street; + this.suite = suite; + this.city = city; + this.zipcode = zipcode; + this.geo = geo; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Address address = (Address) o; + return Objects.equals(street, address.street) && Objects.equals(suite, address.suite) && Objects.equals(city, address.city) && Objects.equals(zipcode, address.zipcode) && Objects.equals(geo, address.geo); + } + +} diff --git a/src/main/java/com/mavlushechka/a1qa/models/Company.java b/src/main/java/com/mavlushechka/a1qa/models/Company.java new file mode 100644 index 0000000..3a1a448 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/models/Company.java @@ -0,0 +1,26 @@ +package com.mavlushechka.a1qa.models; + +import java.util.Objects; + +public class Company { + + public final String name; + public final String catchPhrase; + public final String bs; + + + public Company(String name, String catchPhrase, String bs) { + this.name = name; + this.catchPhrase = catchPhrase; + this.bs = bs; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + Company company = (Company) object; + return Objects.equals(name, company.name) && Objects.equals(catchPhrase, company.catchPhrase) && Objects.equals(bs, company.bs); + } + +} diff --git a/src/main/java/com/mavlushechka/a1qa/models/Geo.java b/src/main/java/com/mavlushechka/a1qa/models/Geo.java new file mode 100644 index 0000000..4a514da --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/models/Geo.java @@ -0,0 +1,24 @@ +package com.mavlushechka.a1qa.models; + +import java.util.Objects; + +public class Geo { + + public final String lat; + public final String lng; + + + public Geo(String lat, String lng) { + this.lat = lat; + this.lng = lng; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + Geo geo = (Geo) object; + return Objects.equals(lat, geo.lat) && Objects.equals(lng, geo.lng); + } + +} diff --git a/src/main/java/com/mavlushechka/a1qa/models/Post.java b/src/main/java/com/mavlushechka/a1qa/models/Post.java new file mode 100644 index 0000000..c936a71 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/models/Post.java @@ -0,0 +1,41 @@ +package com.mavlushechka.a1qa.models; + +import java.util.Objects; + +public class Post implements Comparable<Post> { + + public final String id; + public final String title; + public final String body; + public final String userId; + + + public Post(String id, String title, String body, String userId) { + this.id = id; + this.title = title; + this.body = body; + this.userId = userId; + } + + @Override + public int compareTo(Post post) { + int thisId = Integer.parseInt(id); + int otherId = Integer.parseInt(post.id); + + return Integer.compare(thisId, otherId); + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + Post post = (Post) object; + return Objects.equals(id, post.id) && Objects.equals(title, post.title) && Objects.equals(body, post.body) && Objects.equals(userId, post.userId); + } + + @Override + public int hashCode() { + return Objects.hash(id, title, body, userId); + } + +} diff --git a/src/main/java/com/mavlushechka/a1qa/models/User.java b/src/main/java/com/mavlushechka/a1qa/models/User.java new file mode 100644 index 0000000..ac13c82 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/models/User.java @@ -0,0 +1,50 @@ +package com.mavlushechka.a1qa.models; + +import java.util.Objects; + +public class User { + + public final String id; + public final String name; + public final String username; + public final String email; + public final Address address; + public final String phone; + public final String website; + public final Company company; + + + public User(String id, String name, String username, String email, Address address, String phone, String website, Company company) { + this.id = id; + this.name = name; + this.username = username; + this.email = email; + this.address = address; + this.phone = phone; + this.website = website; + this.company = company; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + User user = (User) object; + return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(username, user.username) && Objects.equals(email, user.email) && Objects.equals(address, user.address) && Objects.equals(phone, user.phone) && Objects.equals(website, user.website) && Objects.equals(company, user.company); + } + + @Override + public String toString() { + return "User{" + + "id='" + id + '\'' + + ", name='" + name + '\'' + + ", username='" + username + '\'' + + ", email='" + email + '\'' + + ", address=" + address + + ", phone='" + phone + '\'' + + ", website='" + website + '\'' + + ", company=" + company + + '}'; + } + +} diff --git a/src/main/resources/testData.json b/src/main/resources/testData.json index 0e0dcd2..b495e75 100644 --- a/src/main/resources/testData.json +++ b/src/main/resources/testData.json @@ -1,3 +1,71 @@ { - + "testCases": [ + { + "steps": [ + { + "spec": "/posts", + "requestMethod": "GET", + "responseCode": "200" + }, + { + "spec": "/posts/99", + "requestMethod": "GET", + "responseCode": "200", + "post": { + "id": "99", + "userId": "10", + "isTitleEmpty": "false", + "isBodyEmpty": "false" + } + }, + { + "spec": "/posts/150", + "requestMethod": "GET", + "responseCode": "404", + "isResponseBodyEmpty": "true" + }, + { + "spec": "/posts", + "requestMethod": "POST", + "responseCode": "201", + "post": { + "userId": "1" + } + }, + { + "spec": "/users", + "requestMethod": "GET", + "responseCode": "200", + "user": { + "id": "5", + "name": "Chelsey Dietrich", + "username": "Kamren", + "email": "Lucio_Hettinger@annie.ca", + "address": { + "street": "Skiles Walks", + "suite": "Suite 351", + "city": "Roscoeview", + "zipcode": "33263", + "geo": { + "lat": "-31.8129", + "lng": "62.5342" + } + }, + "phone": "(254)954-1289", + "website": "demarco.info", + "company": { + "name": "Keebler LLC", + "catchPhrase": "User-centric fault-tolerant solution", + "bs": "revolutionize end-to-end systems" + } + } + }, + { + "spec": "/users/5", + "requestMethod": "GET", + "responseCode": "200" + } + ] + } + ] }
\ No newline at end of file |