/** * Tests the subscribe method with invalid input parameters * * @throws HubException */ @Test public void testSubscribeInvalidInputs() throws HubException { errors.add("Error string"); when(hubValidator.validateSubscription(callbackUrl, mode, topic, leaseSeconds, secret)) .thenReturn(errors); try { controller.subscribe(callbackUrl, mode, topic, leaseSeconds, secret); } catch (RestException e) { HubErrors he = e.getHubException().getError(); assertEquals(1001, he.getCode()); assertEquals(HttpStatus.BAD_REQUEST, he.getHttpStatus()); assertEquals("One or more input parameter(s) may be wrong", he.getMessage()); } verify(hubValidator).validateSubscription(callbackUrl, mode, topic, leaseSeconds, secret); }
/** * Tests the subscribe method with valid input parameters * * @throws HubException */ @Test public void testSubscribe() throws HubException { when(hubValidator.validateSubscription(callbackUrl, mode, topic, leaseSeconds, secret)) .thenReturn(errors); doAnswer( new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); assertNotNull(args); assertEquals(5, args.length); String callbackUrl = (String) args[0]; Modes mode = (Modes) args[1]; String topic = (String) args[2]; String leaseSeconds = (String) args[3]; String secret = (String) args[4]; assertNotNull(callbackUrl); assertNotNull(mode); assertNotNull(topic); assertNotNull(leaseSeconds); assertNotNull(secret); assertEquals("callback_url", callbackUrl); assertEquals(Modes.SUBSCRIBE, mode); assertEquals("topic_url", topic); assertEquals("20", leaseSeconds); assertEquals("secret", secret); return null; } }) .when(controller.getSubscriptionService()) .subscribe(callbackUrl, Modes.SUBSCRIBE, topic, leaseSeconds, secret); controller.subscribe(callbackUrl, mode, topic, leaseSeconds, secret); verify(hubValidator).validateSubscription(callbackUrl, mode, topic, leaseSeconds, secret); verify(subscriptionService) .subscribe(callbackUrl, Modes.SUBSCRIBE, topic, leaseSeconds, secret); }