j'ai un RESFUL et je souhaite le tester avec JUNIT et une page HTML en même temps
Pour la page HTML, je n'ai pas de problème, et quand j'envoi les données depuis JUNIT le RESFUL reçoit toujours la valeur null

Voici mon Resful

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
@Component
@Path("/dao")
public class RestServiceControllerImp implements RestServiceController
{
    @POST
    @Path("/test/")
    @Consumes({
                MediaType.APPLICATION_FORM_URLENCODED
                ,MediaType.MULTIPART_FORM_DATA
                ,MediaType.TEXT_HTML
                ,MediaType.TEXT_PLAIN
                ,MediaType.TEXT_XML
    })  
            public Response getMessage( 
                    @FormParam("dataInput") String dataInput
                   )
    {
        log.info("Message from getProductByID WS");
        log.info("Valeur reçu en entrée :"+ServiceConstants.RETOUR_CHARIOT+dataInput);
        if (dataInput == null)
        {
            result = "your value is null";
        }
        else
        {
            result = "your value :"+dataInput;
        }
 
        return Response.status(201).entity(result).build();
    }
}
Voici la page HTML

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body>
    <form action="http://localhost:8080/MyRestful/dao/test" method="POST" >
        <textarea name="dataInput" rows="8" cols="50">
            Hello World
        </textarea> 
        <p>
        <input type ="submit" value="Send"/>
        </p>
    </form>
</body>
</html>
voici le log quand je lance depuis la page HTML

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
[http-bio-8080-exec-2] INFO com.myresful.rest.controller.RestServiceControllerImp - Message from getProductByID WS
[http-bio-8080-exec-2] INFO com.myresful.rest.controller.RestServiceControllerImp - Valeur reçu en entrée :
            Hello World
voici la classe Junit de test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext_Test.xml")
// @ContextConfiguration("classpath:applicationContext.xml")
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TestUnitRest 
{
    @Autowired
    private BoxControlUnitDao objBoxControlUnitDao;
    private Logger log = LoggerFactory.getLogger(TestUnitRest.class);
    private String userName ;
    private String userPwd ;
    private String urlToConnect ;
    private String responseMsg = "";
    private String dataInput;
    @Test
    public void test01GetMessageFromRestful() throws Exception 
    {
        log.info("*****************************test01GetMessageFromRestful******************");
        userName = "nizar";
        userPwd = "nizar123";
 
 
        log.info("*****************************Génération de l'url******************");
        urlToConnect = "http://localhost:8080/MyRestful/dao/test";
        log.info("Url appelé : "+urlToConnect);
        AutenticateFactory objAutenticateFactory = new AutenticateFactory(urlToConnect, userName, userPwd);
 
        dataInput ="Hello World";
 
        responseMsg = objAutenticateFactory.putMessage(dataInput);
 
        log.info("Réception du retour :"+"\n"+responseMsg);
 
 
        if (responseMsg.startsWith("your value is null")) 
        {
            fail(
                    "L'appel du : "+urlToConnect +" à renvoyé :"+
                    "\n"+
                    responseMsg
                    );
        } 
        else 
        {
            log.info(
                    "Réponse reçu OK" + 
                    "\n"+ 
                    "-----contenu de la réponse------" + 
                    "\n" + 
                    responseMsg+ 
                    "\n" + 
                    "-----fin------"
                    );
        }
    }
}
voici le log depuis le Restful quand je lance depuis junit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
[http-bio-8080-exec-6] INFO com.MyResful.rest.controller.RestServiceControllerImp - Message from getProductByID WS
[http-bio-8080-exec-6] INFO com.MyResful.rest.controller.RestServiceControllerImp - Valeur reçu en entrée :
null
pour préciser j'utilise une classe d'authentification
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
 
public class AutenticateFactory 
{
	static Logger log = LoggerFactory.getLogger(AutenticateFactory.class);
	String urlToConnect;
	String userName;
	String userPwd;
	String msgResponse;
	int statusResponse;
    private com.sun.jersey.api.client.WebResource webResource;
    private com.sun.jersey.api.client.Client client;
 
    public AutenticateFactory(String urlToConnect, String userName,String userPwd) 
    {
		super();
		this.urlToConnect = urlToConnect;
		this.userName = userName;
		this.userPwd = userPwd;
        com.sun.jersey.api.client.config.ClientConfig config = new com.sun.jersey.api.client.config.DefaultClientConfig();
//        Déclaration du client
        client = com.sun.jersey.api.client.Client.create(config);
        client.addFilter(new LoggingFilter());
        client.addFilter(new com.sun.jersey.api.client.filter.HTTPBasicAuthFilter(userName, userPwd));
//        Déclaration du web ressource
        webResource = client.resource(urlToConnect);
	}
 
	public String getUrlToConnect() {
		return urlToConnect;
	}
 
	public void setUrlToConnect(String urlToConnect) {
		this.urlToConnect = urlToConnect;
	}
 
	public String getUserName() {
		return userName;
	}
 
	public void setUserName(String userName) {
		this.userName = userName;
	}
 
	public String getUserPwd() {
		return userPwd;
	}
 
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
 
	public String getMessage() throws Exception 
    {
		try
		{
			ClientResponse response = webResource.type(javax.ws.rs.core.MediaType.TEXT_HTML).get(ClientResponse.class);
	    	statusResponse = response.getStatus();
	    	msgResponse = response.getEntity(String.class);
//	    	Vérifier le retour de la requete
	    	if (statusResponse != HttpURLConnection.HTTP_OK)
	    	{
	    		throw (new Exception(
	    							ServiceConstants.HTTP_ERR_CODE+ statusResponse + 
	    							ServiceConstants.RETOUR_CHARIOT+ msgResponse
	    							));
	    	}
		}
		catch (Exception err)
		{
			msgResponse = ServiceConstants.HTTP_ERR_CODE+ statusResponse + 
						  ServiceConstants.RETOUR_CHARIOT+ err.getMessage();
 
		}
		client.destroy();
    	return msgResponse ;			
    }
 
	public String putMessage(String inputValue)  throws Exception
    {
		try
		{
 
		    ClientResponse response = webResource.type(javax.ws.rs.core.MediaType.TEXT_HTML).post(ClientResponse.class, inputValue);
	    	statusResponse = response.getStatus();
	    	msgResponse = response.getEntity(String.class);
//	    	Vérifier le retour de la requete
	    	if (statusResponse != HttpURLConnection.HTTP_CREATED)
	    	{
	    		throw (new Exception(
	    							ServiceConstants.HTTP_ERR_CODE+ statusResponse + 
	    							ServiceConstants.RETOUR_CHARIOT+ msgResponse
	    							));
	    	}
		}
		catch (Exception err)
		{
			/*msgResponse = ServiceConstants.HTTP_ERR_CODE+ statusResponse + 
						  ServiceConstants.RETOUR_CHARIOT+ err.getMessage();*/
 
			msgResponse = err.getMessage();
		}
    	client.destroy();
    	return msgResponse ;
    }
}
pourquoi je reçoi la valeur null quand je lance depuis Junit ?
comment avoir la même valeur comme depuis la apage HTML ?
Merci !