140ac3c532593a2f168598ca38190ab72b918d45
[so.git] /
1 package org.onap.so.simulator.scenarios.openstack.macro;
2
3 import com.consol.citrus.endpoint.resolver.DynamicEndpointUriResolver;
4 import com.consol.citrus.simulator.scenario.AbstractSimulatorScenario;
5 import com.consol.citrus.simulator.scenario.Scenario;
6 import com.consol.citrus.simulator.scenario.ScenarioDesigner;
7 import org.springframework.core.io.ClassPathResource;
8 import org.springframework.http.HttpStatus;
9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestMethod;
11
12 /**
13  * This scenario is used by the following test cases: Resume Service Instance Macro 3 Modules 1 To Complete.
14  *
15  */
16 @Scenario("Openstack-QueryStackByID-Macro1")
17 @RequestMapping(value = "/sim/v1/tenantOne/stacks/macro_module_1/*", method = RequestMethod.GET)
18 public class QueryStackByIdMacro1 extends AbstractSimulatorScenario {
19
20     private static final String FILE_STACK_CREATED_PATH = "openstack/gr_api/Stack_Created.json";
21     private static final String FILE_STACK_DELETED_PATH = "openstack/gr_api/Stack_Deleted.json";
22
23     @Override
24     public void run(ScenarioDesigner scenario) {
25         scenario.scenarioEndpoint().getEndpointConfiguration().setTimeout(300000L);
26
27         // Poll
28         scenario.http().receive().get().extractFromHeader(DynamicEndpointUriResolver.REQUEST_PATH_HEADER_NAME,
29                 "correlationId");
30         scenario.echo("${correlationId}");
31         scenario.correlation().start().onHeader(DynamicEndpointUriResolver.REQUEST_PATH_HEADER_NAME,
32                 "${correlationId}");
33
34         scenario.variable("stackName", "macro_module_1");
35
36         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
37
38         // Create (module_2)
39         scenario.http().receive().get();
40         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
41
42         // Create (module_3)
43         scenario.http().receive().get();
44         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
45
46         // Create (module_2 recreate)
47         scenario.http().receive().get();
48         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
49
50         // Delete
51         scenario.http().receive().get();
52         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_DELETED_PATH));
53
54         // Delete
55         scenario.http().receive().get();
56         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_DELETED_PATH));
57
58         // Poll
59         scenario.http().receive().get();
60         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_DELETED_PATH));
61     }
62
63 }