Bonjour,
J'essaie de tester de façon unitaire l'élément <secured> dans un flow spring webflow ce qui ressemble à ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<secured attributes="ROLE_ADMIN" />
quand j'essaie de tester avec ma souris et mon browser ça fonctionne bien.

Mais ce que je voudrai c'est le tester avec des tests unitaires.

j'ai ajouté les annotations suivantes sur la classe de test:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:spring/test-context.xml"})
qui étend la classe AbstractXmlFlowExecutionTests.
Le chargement du fichier de flow est fait avec cette méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
	@Override
	protected FlowDefinitionResource getResource(
			FlowDefinitionResourceFactory resourceFactory) {
		String path = "src/main/webapp/WEB-INF/flows/staticDataAmendment/staticDataAmendment-flow.xml";
		return resourceFactory.createFileResource(path);
	}
Quand j'essaie le code ci-dessous:
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
 
            @Test
	public void shouldNotAccessToProtectedFlow(){
		//given
		AccessDeniedException accessDeniedException = null;
		login("user1", "melbourne");//grant authority is "ROLE_USER"
 
		//when
		try{
			//expected grant authority is ROLE_ADMIN
			MutableAttributeMap input = new LocalAttributeMap();
 
			MockExternalContext context = new MockExternalContext();
			//setCurrentState("enterSearchCriteria");
 
			startFlow(input, context);
 
			assertCurrentStateEquals("enterSearchCriteria");
		}catch(AccessDeniedException a){
			accessDeniedException = a;
		}
 
		//then
		assertNotNull("Access to protected flows is not protected, accessDeniedException should be null", accessDeniedException);
	}
le code compile mais aucune exception n'est levée.
le test échoue car je pense que l'élément <secured> n'est pas pris en compte dans le contexte du test

Quelle est la manière de tester cet élément de sécurité?

merci

ps: J'ai fait des tests unitaires sur l'accès aux méthodes d'instance protégées par des annotations @secured et ça fonctionne bien.
Les tests unitaires sur le déroulement des flows webflow fonctionnent bien aussi