public void testPreconditionsAndValidCombinations() { testValidCombinations(); testPreconditions(); }
/** * Shortcut for {@link #addInvalidArgs(int, Class, Object...) * addInvalidArgs(paramIndex, IllegalArgumentException.class, arguments}. * * @param paramIndex * @return */ public PreconditionsTester addInvalidIaeArgs(int paramIndex, Object... arguments) { addInvalidArgs(paramIndex, IllegalArgumentException.class, arguments); return this; }
@Test public void testPreconditions() throws NoSuchMethodException, SecurityException { new ConstructorPreconditionsTester( InstanceFactoryDefinition.class.getDeclaredConstructor(Object.class, Class.class, Class.class)) .addValidArgs(0, "String") .addInvalidNpeArg(0) .addValidArgs(1, String.class) .addInvalidNpeArg(1) .addValidArgs(2, RequestScoped.class) .addInvalidNpeArg(2) .testPreconditionsAndValidCombinations(); }
@Test public void testConstructorPreconditions() { new ConstructorPreconditionsTester(getConstructor()) // allowedOrigins .addValidArgs(0, Collections.singleton(DEFAULT_ORIGIN), Collections.singleton("*")) .addInvalidArgs(0, IllegalArgumentException.class, Collections.emptySet(), ImmutableSet.of("*", DEFAULT_ORIGIN)) .addInvalidNpeArg(0) // allowedMethods .addValidArgs(1, Collections.singleton(DEFAULT_ORIGIN)) .addInvalidArgs(1, IllegalArgumentException.class, Collections.emptySet()) .addInvalidNpeArg(1) // allowCredentials .addValidArgs(2, true) // exposedHeaders .addValidArgs(3, Collections.emptySet(), Collections.singleton(DEFAULT_ORIGIN)) .addInvalidNpeArg(3) // allowedHeaders .addValidArgs(4, Collections.emptySet(), Collections.singleton(DEFAULT_ORIGIN)) .addInvalidNpeArg(4) // maxAge .addValidArgs(5, -10L, 0L, 1L) // sameOriginPolicy .addValidArgs(6, mock(SameOriginPolicy.class)) .addInvalidNpeArg(6) .testPreconditionsAndValidCombinations(); }
@Test public void testPreconditions() { new ConstructorPreconditionsTester(getConstructor()) .addValidArgs(0, ApiInterface1.class) .addInvalidNpeArg(0) .addValidArgs(1, "some name") .addInvalidNpeArg(1) .testPreconditions(); }
@Test public void addInvalidArgs_IncorrectExceptionGiven_ShouldThrowAssertionError() { assertThrows(AssertionError.class, () -> { tester .addInvalidArgs(0, IllegalArgumentException.class, new Object[] { null }) .addValidArgs(0, 1) .addValidArgs(1, 1.0) .testPreconditions(); }); }
@Override public void testPreconditions() { Supplier<Void> fn = () -> { super.testPreconditions(); return null; }; AccessibleRunner.run(constructor, fn); } }
/** * Tests all possible combinations valid of arguments on the invokable (constructor or method). * <p> * This requires at least one valid argument for <b>each</b> parameter. * * @throws AssertionError * if invoking the constructor with a valid set of arguments * throws an exception */ public void testValidCombinations() { validArguments.checkAllArgumentsSet(); testArguments(validArguments.getCapturedArgumentsSets(), null); }
@Test public void testConstructorPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put("headerName", null); new ConstructorPreconditionsTester(getConstructor()) // baseUri .addValidArgs(0, URI.create("/")) // requestUri .addValidArgs(1, URI.create("/")) .addInvalidNpeArg(1) // httpMethod .addValidArgs(2, "GET") .addInvalidNpeArg(2) // entityStream .addValidArgs(3, new ByteArrayInputStream(new byte[0])) .addInvalidNpeArg(3) // headers .addValidArgs(4, ImmutableMap.of(), ImmutableMap.of("a", ImmutableList.of())) .addValidArgs(4, ImmutableMap.of("a", ImmutableList.of("a", "b")), nullHeader) .addInvalidNpeArg(4) .testPreconditionsAndValidCombinations(); }
for (InvalidArgument invalidParam : currInvalidArgs) { argumentsLists.set(i, Collections.singleton(invalidParam)); testArguments(argumentsLists, invalidParam.getExpectedException()); oneTested = true;
@Test public void testConstructorPreconditions() { Map<String, String> nullHeader = new HashMap<>(); nullHeader.put("headerName", null); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), ImmutableMap.of("headerName", "headerValue"), nullHeader) .addInvalidNpeArg(1) // statusType .addValidArgs(2, Status.OK) .addInvalidNpeArg(2) .addValidArgs(3, true, false) .testPreconditionsAndValidCombinations(); }
/** * Shortcut for {@link #addInvalidArgs(int, Class, Object...) * addInvalidArgs(paramIndex, NullpointerException.class, new Object[] * ${null}}. * * @param paramIndex * @return */ public PreconditionsTester addInvalidNpeArg(int paramIndex) { addInvalidArgs(paramIndex, NullPointerException.class, new Object[] {null}); return this; }
@Test public void testPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put(null, singletonList("1")); Map<String, String> nullHeaderValue = new HashMap<>(); nullHeader.put("0", null); Map<String, List<String>> headers = singletonMap("0", singletonList("1")); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), nullHeader, nullHeaderValue, headers) .addInvalidNpeArg(1) // requestUri .addValidArgs(2, URI.create("/")) .addInvalidNpeArg(2) // httpMethod .addValidArgs(3, "GET") .addInvalidNpeArg(3) .testPreconditionsAndValidCombinations(); }
@Test public void testPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put(null, singletonList("1")); Map<String, String> nullHeaderValue = new HashMap<>(); nullHeader.put("0", null); Map<String, List<String>> headers = singletonMap("0", singletonList("1")); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), nullHeader, nullHeaderValue, headers) .addInvalidNpeArg(1) // statusCode .addValidArgs(2, 500) // reasonPhrase .addValidArgs(3, null, "a") .testPreconditionsAndValidCombinations(); }