com.pepaproch.gtswsdlclient.TestBase.java Source code

Java tutorial

Introduction

Here is the source code for com.pepaproch.gtswsdlclient.TestBase.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pepaproch.gtswsdlclient;

import com.pepaproch.gtswsdl.AuthHeaderInterceptor;
import com.pepaproch.gtswsdlclient.auth.AuthTokenProvider;
import com.pepaproch.gtswsdlclient.auth.AuthTokenProviderImpl;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.AsyncRestTemplate;
import org.springframework.web.client.RestTemplate;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author pepa
 */
public class TestBase {

    public static final String BASE_URL = "https://wo-dev.gtsgroup.cz/NoveraDSL/WsApi/";

    public static final String AUTH_PATH = "v1/auth";
    public static final String USERNAME = "EUPHONY";
    public static final String PASSWORD = "qCoJsNZJ";
    public static final String CHECK_ADDR_RESPONSE_BODY = "{\"_links\": {\"self\": {\"href\": \"/v1/uiradr?houseNumberReg=767&street=Hn%C4%9Bzdensk%C3%A1&city=Praha\"}},\"total\": 3,\"items\": [{\"addressId\": 26005816,\"zipCode\": 18100,\"county\": \"Hlavn msto Praha\",\"houseNumberOr\": \"2a\",\"region\": \"Hlavn msto Praha\",\"_links\": {\"self\": {\"href\": \"/v1/uiradr/26005816\"}},\"city\": \"Praha\",\"street\": \"Hnzdensk\",\"cityPart\": \"Troja\",\"houseNumberReg\": 767},{\"addressId\": 26005867,\"county\": \"Hlavn msto Praha\",\"zipCode\": 18100,\"region\": \"Hlavn msto Praha\",\"houseNumberOr\": \"4b\",\"_links\": {\"self\": {\"href\": \"/v1/uiradr/26005867\"}},\"street\": \"Hnzdensk\",\"city\": \"Praha\",\"houseNumberReg\": 767,\"cityPart\": \"Troja\"},{\"cityPart\": \"Troja\",\"houseNumberReg\": 767,\"city\": \"Praha\",\"street\": \"Hnzdensk\",\"zipCode\": 18100,\"county\": \"Hlavn msto Praha\",\"addressId\": 26005875,\"_links\": {\"self\": {\"href\": \"/v1/uiradr/26005875\"}},\"houseNumberOr\": \"4c\",\"region\": \"Hlavn msto Praha\"}]}";

    protected AsyncRestTemplate getAuthenticatedAsyncRestTemplate() {
        AsyncRestTemplate restTemplate = new AsyncRestTemplate();
        AuthHeaderInterceptor securityTokenInterceptor = new AuthHeaderInterceptor(getAuthTokenProvider());
        List<HttpMessageConverter<?>> list = new ArrayList<>();
        list.add(new MappingJackson2HttpMessageConverter());
        restTemplate.setMessageConverters(list);
        return restTemplate;
    }

    protected AsyncRestTemplate getAsyncRestTemplate() {
        AsyncRestTemplate template = new AsyncRestTemplate();
        List<HttpMessageConverter<?>> list = new ArrayList<>();
        list.add(new MappingJackson2HttpMessageConverter());
        template.setMessageConverters(list);
        return template;
    }

    protected RestTemplate getRestTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        List<HttpMessageConverter<?>> list = new ArrayList<>();
        list.add(new MappingJackson2HttpMessageConverter());
        restTemplate.setMessageConverters(list);
        return restTemplate;

    }

    protected RestTemplate getRestAuthenticatedTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        AuthHeaderInterceptor securityTokenInterceptor = new AuthHeaderInterceptor(getAuthTokenProvider());
        List<ClientHttpRequestInterceptor> interceptors = restTemplate.getInterceptors();
        if (interceptors == null) {
            interceptors = new ArrayList<>();
            restTemplate.setInterceptors(interceptors);
        }
        interceptors.add(securityTokenInterceptor);
        List<HttpMessageConverter<?>> list = new ArrayList<>();
        list.add(new MappingJackson2HttpMessageConverter());
        restTemplate.setMessageConverters(list);
        return restTemplate;

    }

    protected AuthTokenProvider getAuthTokenProvider() {
        return new AuthTokenProviderImpl(BASE_URL, "test", "test", getRestTemplate(), 1000);

    }
}