05d87cd3142f4754a6c2b7fc3d9d0c919c1409f2
[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-Macro2")
17 @RequestMapping(value = "/sim/v1/tenantOne/stacks/macro_module_2/*", method = RequestMethod.GET)
18 public class QueryStackByIdMacro2 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_2");
35
36         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
37
38         // Delete
39         scenario.http().receive().get();
40         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_CREATED_PATH));
41
42         scenario.http().receive().get();
43         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_DELETED_PATH));
44
45         // Poll
46         scenario.http().receive().get();
47         scenario.http().send().response(HttpStatus.OK).payload(new ClassPathResource(FILE_STACK_DELETED_PATH));
48     }
49
50 }