summaryrefslogtreecommitdiffstats
path: root/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/AddNodeToCompositionFlow.java
blob: fbc311d38879b0ad8adf3924cca9ddb52489699f (plain)
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
package org.onap.sdc.frontend.ci.tests.flow;

import com.aventstack.extentreports.Status;
import java.util.Objects;
import java.util.Optional;
import org.onap.sdc.frontend.ci.tests.datatypes.ResourceCreateData;
import org.onap.sdc.frontend.ci.tests.pages.PageObject;
import org.onap.sdc.frontend.ci.tests.pages.ResourceCreatePage;
import org.onap.sdc.frontend.ci.tests.pages.component.workspace.CompositionPage;
import org.openqa.selenium.WebDriver;

public class AddNodeToCompositionFlow extends AbstractUiTestFlow {

    private final ResourceCreateData destination;
    private final ResourceCreateData resource;
    private CompositionPage compositionPage;
    private ResourceCreatePage resourceCreatePage;

    public AddNodeToCompositionFlow(final WebDriver webDriver, final ResourceCreateData destination, final ResourceCreateData resource) {
        super(webDriver);
        this.destination = destination;
        this.resource = resource;
    }

    @Override
    public Optional<? extends PageObject> run(final PageObject... pageObjects) {
        Objects.requireNonNull(destination);
        Objects.requireNonNull(resource);
        extendTest.log(Status.INFO, String.format("Adding Resource '%s' to VF/Service '%s'", resource.getName(), destination.getName()));

        resourceCreatePage = findParameter(pageObjects, ResourceCreatePage.class);
        resourceCreatePage.isLoaded();

        compositionPage = resourceCreatePage.goToComposition();
        compositionPage.isLoaded();
        compositionPage.addNodeToResourceCompositionUsingApi(destination.getName(), "0.1", resource.getName(), "1.0");
        compositionPage.goToGeneral();
        return Optional.of(compositionPage);
    }

    @Override
    public Optional<? extends PageObject> getLandedPage() {
        return Optional.ofNullable(resourceCreatePage);
    }
}