URI redirectURI = new URI("https://example.com/oauth2/");
Scope scope = Scope.parse("read write");
State state = new State();
AuthorizationRequest req = new AuthorizationRequest(uri, rts, clientID, redirectURI, scope, state);
assertEquals(uri, req.getEndpointURI());
assertEquals(rts, req.getResponseType());
assertEquals(clientID, req.getClientID());
assertEquals(redirectURI, req.getRedirectionURI());
assertEquals(scope, req.getScope());
assertEquals(state, req.getState());
String query = req.toQueryString();
System.out.println("Authorization query: " + query);
Map<String,String> params = URLUtils.parseParameters(query);
assertEquals("code", params.get("response_type"));
assertEquals("123456", params.get("client_id"));
assertEquals(redirectURI.toString(), params.get("redirect_uri"));
assertEquals(scope, Scope.parse(params.get("scope")));
assertEquals(state, new State(params.get("state")));
assertEquals(5, params.size());
HTTPRequest httpReq = req.toHTTPRequest();
assertEquals(HTTPRequest.Method.GET, httpReq.getMethod());
assertEquals(query, httpReq.getQuery());