Try fixing occasional testing failuers in Java client

by using random and atomically increasing IDs
This commit is contained in:
xhh
2016-01-20 11:55:04 +08:00
parent 3b5462c1e9
commit 1ddc91b8a9
28 changed files with 175 additions and 37 deletions

View File

@@ -0,0 +1,17 @@
package io.swagger;
import java.util.Random;
import java.util.concurrent.atomic.AtomicLong;
public class TestUtils {
private static final AtomicLong atomicId = createAtomicId();
public static long nextId() {
return atomicId.getAndIncrement();
}
private static AtomicLong createAtomicId() {
int baseId = new Random(System.currentTimeMillis()).nextInt(1000000) + 20000;
return new AtomicLong((long) baseId);
}
}

View File

@@ -1,7 +1,8 @@
package io.swagger.petstore.test;
import io.swagger.client.ApiClient;
import io.swagger.TestUtils;
import io.swagger.client.ApiClient;
import io.swagger.client.api.*;
import io.swagger.client.model.*;
@@ -183,7 +184,7 @@ public class PetApiTest {
private Pet createRandomPet() {
Pet pet = new Pet();
pet.setId(System.currentTimeMillis());
pet.setId(TestUtils.nextId());
pet.setName("gorilla");
Category category = new Category();

View File

@@ -1,5 +1,9 @@
package io.swagger.petstore.test;
import feign.FeignException;
import io.swagger.TestUtils;
import io.swagger.client.*;
import io.swagger.client.api.*;
import io.swagger.client.model.*;
@@ -44,15 +48,19 @@ public class StoreApiTest {
Order fetched = api.getOrderById(order.getId().toString());
assertEquals(fetched.getId(), order.getId());
api.deleteOrder(String.valueOf(order.getId()));
api.deleteOrder(order.getId().toString());
api.getOrderById(order.getId().toString());
// fail("expected an error");
try {
api.getOrderById(order.getId().toString());
fail("expected an error");
} catch (FeignException e) {
assertTrue(e.getMessage().startsWith("status 404 "));
}
}
private Order createOrder() {
Order order = new Order();
order.setId(new Long(System.currentTimeMillis()));
order.setId(TestUtils.nextId());
order.setPetId(new Long(200));
order.setQuantity(new Integer(13));
order.setShipDate(new java.util.Date());

View File

@@ -1,5 +1,7 @@
package io.swagger.petstore.test;
import io.swagger.TestUtils;
import io.swagger.client.ApiClient;
import io.swagger.client.api.*;
import io.swagger.client.model.*;
@@ -73,7 +75,7 @@ public class UserApiTest {
private User createUser() {
User user = new User();
user.setId(System.currentTimeMillis());
user.setId(TestUtils.nextId());
user.setUsername("fred" + user.getId());
user.setFirstName("Fred");
user.setLastName("Meyer");