diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java index a70fb04b83f343b467a56bd9bd595636a42449fe..1564d8d14f639f817f133665b1e48e7fea377b06 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java @@ -157,9 +157,10 @@ public class SmallGrid extends DComponent { } if (columnIndex == -1) { LOG.error("No element found"); + throw new NoSuchElementException("Column not found"); } boolean isElementPresent = false; - for (int pageNr = 1; pageNr < numOfPages + 1; pageNr++) { + for (int pageNr = 0; pageNr < numOfPages + 1; pageNr++) { List<WebElement> rows = getRows(); for (WebElement row : rows) { diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java index 8b4f79e3d75fece3fac81cb951b71a9aa1db38d0..062c65c82e08eefc36716afd717a8bd74cc3489f 100644 --- a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java @@ -7,6 +7,7 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; +import pages.administration.editResourcesPage.editResourceDocumentPage.EditResourceDocumentPage; /** * Page object Resource details tab of Edit Resource page. This contains the locators of the page and the methods for the behaviour of the page diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentPage.java similarity index 79% rename from domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java rename to domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentPage.java index b44c25ded8f49ca81fb0f0c15ea83842cdf6ab25..77376de6978108e936cfefd4f5ed034cfc6d4947 100644 --- a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentPage.java @@ -1,4 +1,4 @@ -package pages.administration.editResourcesPage; +package pages.administration.editResourcesPage.editResourceDocumentPage; import ddsl.DomiSMPPage; import org.openqa.selenium.WebDriver; @@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; +import java.util.NoSuchElementException; /** * Page object for the Edit resource document page. This contains the locators of the page and the methods for the behaviour of the page @@ -20,6 +21,8 @@ public class EditResourceDocumentPage extends DomiSMPPage { private WebElement generateBtn; @FindBy(id = "validateResource_id") private WebElement validateBtn; + @FindBy(id = "documentWizard_id") + private WebElement documentWizardBtn; @FindBy(css = "smp-titled-label[title=\"Resource identifier:\"] div.smp-tl-value") private WebElement resourceIdentifierLbl; @FindBy(css = "smp-titled-label[title=\"Resource scheme:\"] div.smp-tl-value") @@ -44,7 +47,7 @@ public class EditResourceDocumentPage extends DomiSMPPage { private List<WebElement> codeEditorReadValueElement; - protected EditResourceDocumentPage(WebDriver driver) { + public EditResourceDocumentPage(WebDriver driver) { super(driver); LOG.debug("Loading Edit resource document page."); } @@ -75,7 +78,13 @@ public class EditResourceDocumentPage extends DomiSMPPage { weToDButton(validateBtn).click(); } - public void selectDocumentVersion(int version) { - weToDSelect(versionDdl).selectValue(String.valueOf(version)); + public EditResourceDocumentWizardDialog clickOnDocumentWizard() { + if (documentNameLbl.getText().contains("1.0")) { + weToDButton(documentWizardBtn).click(); + return new EditResourceDocumentWizardDialog(driver); + + } + LOG.error("Document type {%d} doesn't have wizard", documentNameLbl.getText()); + throw new NoSuchElementException("Document wizard button is not present"); } } diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentWizardDialog.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentWizardDialog.java new file mode 100644 index 0000000000000000000000000000000000000000..c56d9b26389bfa477a702a6897d11f4887fac77d --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/editResourceDocumentPage/EditResourceDocumentWizardDialog.java @@ -0,0 +1,82 @@ +package pages.administration.editResourcesPage.editResourceDocumentPage; + +import ddsl.dcomponents.DComponent; +import ddsl.dobjects.DInput; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; + +/** + * Page object of Document Wizard for Resources with Oasis 1 from EditResourceDocument page. This contains the locators of the page and the methods for the behaviour of the page + */ +public class EditResourceDocumentWizardDialog extends DComponent { + @FindBy(id = "ExtensionID_id") + private WebElement extensionIdInput; + @FindBy(id = "ExtensionName_id") + private WebElement extensionNamenput; + @FindBy(id = "ExtensionAgencyID_id") + private WebElement extensionAgencyIdnput; + @FindBy(id = "ExtensionAgencyName_id") + private WebElement extensionAgencyNameInput; + @FindBy(id = "ExtensionAgencyURI_id") + private WebElement extensionAgencyURIInput; + @FindBy(id = "ExtensionVersionID_id") + private WebElement extensionVersionIDInput; + @FindBy(id = "ExtensionURI_id") + private WebElement extensionURIInput; + @FindBy(id = "ExtensionReasonCode_id") + private WebElement extensionReasonCodeInput; + @FindBy(id = "ExtensionReason_id") + private WebElement extensionReasonInput; + @FindBy(id = "generateDocumentButton") + private WebElement okBtn; + + + public EditResourceDocumentWizardDialog(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this); + } + + public void clickOK() { + weToDButton(okBtn).click(); + } + + + public DInput getExtensionIdInput() { + return weToDInput(extensionIdInput); + } + + public DInput getExtensionNamenput() { + return weToDInput(extensionNamenput); + } + + public DInput getExtensionAgencyIdnput() { + return weToDInput(extensionAgencyIdnput); + } + + public DInput getExtensionAgencyNameInput() { + return weToDInput(extensionAgencyNameInput); + } + + public DInput getExtensionAgencyURIInput() { + return weToDInput(extensionAgencyURIInput); + } + + public DInput getExtensionVersionIDInput() { + return weToDInput(extensionVersionIDInput); + } + + public DInput getExtensionURIInput() { + return weToDInput(extensionURIInput); + } + + public DInput getExtensionReasonCodeInput() { + return weToDInput(extensionReasonCodeInput); + } + + public DInput getExtensionReasonInput() { + return weToDInput(extensionReasonInput); + } +} diff --git a/domiSMP-ui-tests/src/main/java/rest/BaseRestClient.java b/domiSMP-ui-tests/src/main/java/rest/BaseRestClient.java index 34031ec10fb101add3361cb3ed149460023c510c..26fec38e0f2ac13e6cef5a85204f89ec049e3bbf 100644 --- a/domiSMP-ui-tests/src/main/java/rest/BaseRestClient.java +++ b/domiSMP-ui-tests/src/main/java/rest/BaseRestClient.java @@ -75,13 +75,13 @@ public class BaseRestClient { protected WebResource.Builder decorateBuilder(WebResource resource) { WebResource.Builder builder = resource.getRequestBuilder(); - cookies = TestRunData.getInstance().getCookies();; + cookies = TestRunData.getInstance().getCookies(); if (null != cookies) { - log.debug(""); for (NewCookie cookie : cookies) { builder = builder.cookie(new Cookie(cookie.getName(), cookie.getValue(), "/", "")); - log.debug("cookie " + cookie + " is added to the builder"); } + } else { + log.error("No cookie are present in the builder"); } if (null != TestRunData.getInstance().getXSRFToken()) { builder = builder.header("X-XSRF-TOKEN", TestRunData.getInstance().getXSRFToken()); @@ -136,7 +136,11 @@ public class BaseRestClient { WebResource.Builder builder = decorateBuilder(resource.path(RestServicePaths.CONNECTED)); int response = builder.get(ClientResponse.class).getStatus(); - log.debug("Connected endpoint returns: " + response); + + if (response != 200) { + log.debug("Connected endpoint returns " + response); + + } return (!(response == 401)); } diff --git a/domiSMP-ui-tests/src/main/java/rest/DomainClient.java b/domiSMP-ui-tests/src/main/java/rest/DomainClient.java index c2c224c9f5eeb35ed0aeda6e85ddbb1cc2622787..5381669def0680176c8490273202b4ac8559f1af 100644 --- a/domiSMP-ui-tests/src/main/java/rest/DomainClient.java +++ b/domiSMP-ui-tests/src/main/java/rest/DomainClient.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.jersey.api.client.ClientResponse; import ddsl.enums.ResourceTypes; import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rest.models.DomainModel; import rest.models.GroupModel; import rest.models.MemberModel; @@ -18,6 +20,9 @@ public class DomainClient extends BaseRestClient { /** * Rest client for domain actions */ + + private final static Logger LOG = LoggerFactory.getLogger(DomainClient.class); + public DomainClient() { super(); } @@ -34,7 +39,7 @@ public class DomainClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Domain: " + domainModel.getDomainCode() + " has been created successfully!"); + LOG.debug("Domain: " + domainModel.getDomainCode() + " has been created successfully!"); return response.getEntity(DomainModel.class); } @@ -51,7 +56,7 @@ public class DomainClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Member: " + domainMember.getUsername() + " has been added!"); + LOG.debug("Member: " + domainMember.getUsername() + " has been added!"); return response.getEntity(MemberModel.class); } @@ -72,7 +77,7 @@ public class DomainClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Resources have been added!"); + LOG.debug("Resources have been added!"); return response.getEntity(DomainModel.class); } @@ -87,7 +92,7 @@ public class DomainClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Group have been added!"); + LOG.debug("Group have been added!"); return response.getEntity(GroupModel.class); } } diff --git a/domiSMP-ui-tests/src/main/java/rest/GroupClient.java b/domiSMP-ui-tests/src/main/java/rest/GroupClient.java index a25adef5698f5bf8655eca0308c5f38332a0dc06..aaf97d87d0cf1fcc6b9137f4bb4e692e39a8bdcc 100644 --- a/domiSMP-ui-tests/src/main/java/rest/GroupClient.java +++ b/domiSMP-ui-tests/src/main/java/rest/GroupClient.java @@ -3,6 +3,8 @@ package rest; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.jersey.api.client.ClientResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rest.models.DomainModel; import rest.models.GroupModel; import rest.models.MemberModel; @@ -12,6 +14,7 @@ import utils.TestRunData; * Rest client for group actions */ public class GroupClient extends BaseRestClient { + private final static Logger LOG = LoggerFactory.getLogger(GroupClient.class); public GroupClient() { super(); @@ -31,7 +34,7 @@ public class GroupClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Member: " + groupMember.getUsername() + " has been added!"); + LOG.debug("Member: " + groupMember.getUsername() + " has been added!"); return response.getEntity(MemberModel.class); } } diff --git a/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java b/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java index 40a1f0f02d459845b96d8c0250c1653b19df1fff..6cd50f9fd0ecd269b50a870b7ec3e58fa6fd3f63 100644 --- a/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java +++ b/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.jersey.api.client.ClientResponse; import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rest.models.DomainModel; import rest.models.GroupModel; import rest.models.MemberModel; @@ -14,6 +16,8 @@ import utils.TestRunData; * Rest client for group actions */ public class ResourceClient extends BaseRestClient { + private final static Logger LOG = LoggerFactory.getLogger(ResourceClient.class); + public ResourceModel createResourceForGroup(DomainModel domainModel, GroupModel groupModel, ResourceModel resourceModelToBeCreated) { JSONObject resourceJson = new JSONObject(resourceModelToBeCreated); String createResourcePath = RestServicePaths.getCreateResourcePath(TestRunData.getInstance().getUserId(), domainModel.getDomainId(), groupModel.getGroupId()); @@ -25,7 +29,7 @@ public class ResourceClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Resource have been added!"); + LOG.debug("Resource have been added!"); return response.getEntity(ResourceModel.class); } @@ -43,7 +47,7 @@ public class ResourceClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("Member: " + groupMember.getUsername() + " has been added!"); + LOG.debug("Member: " + groupMember.getUsername() + " has been added!"); return response.getEntity(MemberModel.class); } } diff --git a/domiSMP-ui-tests/src/main/java/rest/SMPRestException.java b/domiSMP-ui-tests/src/main/java/rest/SMPRestException.java index 1e353813cc90d2db102650f8e21ddc34b6907327..b4b70374fb0295a44241819d490abf494c6ebf17 100644 --- a/domiSMP-ui-tests/src/main/java/rest/SMPRestException.java +++ b/domiSMP-ui-tests/src/main/java/rest/SMPRestException.java @@ -12,5 +12,10 @@ public class SMPRestException extends Exception { message, "STATUS = " + response.getStatus(), "CONTENT = " + response.getEntity(String.class))); + log.error(String.format("%s \n %s \n %s \n", + message, + "STATUS = " + response.getStatus(), + "CONTENT = " + response.getEntity(String.class))); } + } diff --git a/domiSMP-ui-tests/src/main/java/rest/UserClient.java b/domiSMP-ui-tests/src/main/java/rest/UserClient.java index c17805b8615ef8fc395c599746a63d04b2349b01..cf749f59b387cd0a2c09119bee2f8805ceef84ac 100644 --- a/domiSMP-ui-tests/src/main/java/rest/UserClient.java +++ b/domiSMP-ui-tests/src/main/java/rest/UserClient.java @@ -2,6 +2,8 @@ package rest; import com.sun.jersey.api.client.ClientResponse; import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rest.models.UserModel; import utils.TestRunData; @@ -9,6 +11,9 @@ import utils.TestRunData; * Rest client for user actions */ public class UserClient extends BaseRestClient { + private final static Logger LOG = LoggerFactory.getLogger(UserClient.class); + + public UserClient(String username, String password) { super(username, password); } @@ -33,7 +38,7 @@ public class UserClient extends BaseRestClient { throw new RuntimeException(e); } } - log.debug("User: " + user.getUsername() + " has been created successfully!"); + LOG.debug("User: " + user.getUsername() + " has been created successfully!"); return responseBody; } @@ -45,6 +50,16 @@ public class UserClient extends BaseRestClient { passwordChangeBody.put("currentPassword", password); passwordChangeBody.put("newPassword", newPassword); ClientResponse response = jsonPUT(resource.path(changePasswordPath), passwordChangeBody); + + if (response.getStatus() != 200) { + try { + throw new SMPRestException("Could not create user", response); + } catch (SMPRestException e) { + throw new RuntimeException(e); + } + } + LOG.debug(" Password was changed successfully!"); + return new JSONObject(response.getEntity(String.class)); } diff --git a/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java b/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java index 37213ee3e2c52181eb729c859c54abad04e0723f..04084d33480e902ad5e9362ed3db542ec6dbbedc 100644 --- a/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java +++ b/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java @@ -96,5 +96,15 @@ public class ResourceModel { return resourceModel; } + public static ResourceModel generatePublicResource(ResourceTypes resourceType) { + ResourceModel resourceModel = new ResourceModel(); + resourceModel.identifierScheme = StringUtils.lowerCase(Generator.randomAlphabeticalValue(3) + "-" + Generator.randomAlphaNumericValue(3) + "-" + Generator.randomAlphaNumericValue(3)); + resourceModel.identifierValue = "AUT_resIden_" + Generator.randomAlphaNumericValue(4).toLowerCase(); + resourceModel.smlRegistered = false; + resourceModel.resourceTypeIdentifier = StringUtils.lowerCase(resourceType.getName()); + resourceModel.visibility = "PUBLIC"; + return resourceModel; + } + } diff --git a/domiSMP-ui-tests/src/main/java/utils/TestRunData.java b/domiSMP-ui-tests/src/main/java/utils/TestRunData.java index 1a6020274092bf988f5d6f5934b578c0607160c4..af7a897c331b3ab4819668c5100ed49f0efe93e8 100644 --- a/domiSMP-ui-tests/src/main/java/utils/TestRunData.java +++ b/domiSMP-ui-tests/src/main/java/utils/TestRunData.java @@ -172,7 +172,6 @@ public class TestRunData { public String getUiBaseUrl() { String url = getPropertyValue(TestEnvironmentProperty.APPLICATION_UI_URL); - LOG.debug("UI URL [{}]", url); return url; } diff --git a/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java b/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java index 07aa3dd2010be6d8c454c8fb0c0dd4ea6facf6b5..2cdb6dd7a432c1a35db812c13943924eb9e77f20 100644 --- a/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java +++ b/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java @@ -5,6 +5,7 @@ import org.apache.xml.serialize.XMLSerializer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; @@ -47,14 +48,17 @@ public class XMLUtils { return nList.getLength() != 0; } -// public boolean isNodeContaingValue(String nodeName) { -// -// NodeList nList = doc.getChildNodes(); -// for(Integer i=0; i = nList.getLength()){ -// -// } -// -// -// } + public void setContextValueForNode(String nodeName, String attributeName, String attributeValue) { + NodeList nList = doc.getElementsByTagName(nodeName); + Node nNode = nList.item(0); + nNode.setTextContent(attributeValue); + } + public String getNodeValue(String nodeName) { + NodeList nList = doc.getElementsByTagName(nodeName); + if (nList.getLength() > 0) { + return nList.item(0).getTextContent(); + } + return null; + } } diff --git a/domiSMP-ui-tests/src/main/resources/logback.xml b/domiSMP-ui-tests/src/main/resources/logback.xml index 31aa91333ba7121a09f23d903f77bce87b1884dd..ce26113e998e082eff9fc9a28a444b50a4ca53b9 100644 --- a/domiSMP-ui-tests/src/main/resources/logback.xml +++ b/domiSMP-ui-tests/src/main/resources/logback.xml @@ -40,7 +40,7 @@ <logger name="domiSMPTests" level="DEBUG"/> <logger name="ddsl" level="DEBUG"/> <logger name="pages" level="DEBUG"/> - <logger name="res" level="DEBUG"/> + <logger name="rest" level="DEBUG"/> <logger name="utils" level="DEBUG"/> <root level="WARN"> <appender-ref ref="file"/> diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java index 8333aa04e42b2590b8f261cb2bf4b44c4b4a9ffe..8ad44e1ec6d2777ec4184d6311563522ceb51a15 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java @@ -5,7 +5,6 @@ import ddsl.enums.Pages; import domiSMPTests.SeleniumTest; import org.openqa.selenium.WebElement; import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Ignore; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; @@ -18,10 +17,10 @@ import rest.models.UserModel; /** * This class has the tests against Domains Page */ -@Ignore("DomainsPgTests:beforeTest Failing tests: org.openqa.selenium.ElementClickInterceptedException: Element <select id=\"signatureKeyAlias_id\" " + - "class=\"mat-mdc-input-element mat-mdc-tooltip-trigger ng-tns-c1205077789-11 ng-untouched ng-pristine ng-valid " + - "mat-mdc-form-field-input-control mdc-text-field__input cdk-text-field-autofill-monitored cdk-focused cdk-program-focused\"> " + - "is not clickable at point (1014,364) because another element <mat-label class=\"ng-tns-c1205077789-11\"> obscures it" ) +//@Ignore("DomainsPgTests:beforeTest Failing tests: org.openqa.selenium.ElementClickInterceptedException: Element <select id=\"signatureKeyAlias_id\" " + +// "class=\"mat-mdc-input-element mat-mdc-tooltip-trigger ng-tns-c1205077789-11 ng-untouched ng-pristine ng-valid " + +// "mat-mdc-form-field-input-control mdc-text-field__input cdk-text-field-autofill-monitored cdk-focused cdk-program-focused\"> " + +// "is not clickable at point (1014,364) because another element <mat-label class=\"ng-tns-c1205077789-11\"> obscures it" ) public class DomainsPgTests extends SeleniumTest { DomiSMPPage homePage; LoginPage loginPage; @@ -51,7 +50,9 @@ public class DomainsPgTests extends SeleniumTest { domainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); soft.assertEquals(domainModel.getSignatureKeyAlias(), domainsPage.getDomainTab().getResponseSignatureCertificateSelectedValue()); soft.assertEquals(domainModel.getVisibility(), domainsPage.getDomainTab().getVisibilityOfDomainSelectedValue()); - soft.assertEquals("To complete domain configuration, please select at least one resource type from the Resource Types tab", domainsPage.getDomainWarningMessage()); + soft.assertEquals(domainsPage.getDomainWarningMessage(), "To complete domain configuration, please:\n" + + "select at least one resource type from the Resource Types tab\n" + + "add a domain member with 'ADMIN' role from the Members tab!"); soft.assertAll(); } diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java index aa1f89a64b27b89ae67b9a7f2bd543ce9b9b8a5d..c453e54a2e0ce3caba585b4bdd2e13515b967185 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java @@ -1,17 +1,19 @@ package domiSMPTests.ui; +import com.fasterxml.jackson.core.JsonProcessingException; import ddsl.DomiSMPPage; import ddsl.enums.Pages; import ddsl.enums.ResourceTypes; import domiSMPTests.SeleniumTest; import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Ignore; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; -import pages.administration.editResourcesPage.EditResourceDocumentPage; import pages.administration.editResourcesPage.EditResourcePage; +import pages.administration.editResourcesPage.editResourceDocumentPage.EditResourceDocumentPage; +import pages.administration.editResourcesPage.editResourceDocumentPage.EditResourceDocumentWizardDialog; import rest.models.*; +import utils.Generator; import utils.TestRunData; import utils.XMLUtils; @@ -19,7 +21,6 @@ import javax.xml.parsers.ParserConfigurationException; import java.util.Arrays; import java.util.List; -@Ignore("All tests fails with java.util.NoSuchElementException: Value [ ... ] was not found in the grid") public class EditResourcePgTests extends SeleniumTest { DomiSMPPage homePage; LoginPage loginPage; @@ -196,18 +197,72 @@ public class EditResourcePgTests extends SeleniumTest { soft.assertAll(); } - @Ignore //TODO: continue test with select version - @Test(description = "EDTRES-04 Resource admins are able to add generated document", priority = 1) - public void resourceAdminsAreAbleToAddGeneratedDocument2() throws ParserConfigurationException { + @Test(description = "EDTRES-04 Resource admins are able to add document using Document wizard for Oasis 1.0", priority = 1) + public void resourceAdminsAreAbleToAddDocimentUsingDocumentWizardOasis1() throws ParserConfigurationException, JsonProcessingException { + + ResourceModel resourceModelOasis1 = ResourceModel.generatePublicResource(ResourceTypes.OASIS1); + + + //add resource to group + resourceModelOasis1 = rest.resources().createResourceForGroup(domainModel, groupModel, resourceModelOasis1); + rest.resources().addMembersToResource(domainModel, groupModel, resourceModelOasis1, adminMember); + + editResourcePage.refreshPage(); + editResourcePage.selectDomain(domainModel, groupModel, resourceModelOasis1); editResourcePage.goToTab("Resource details"); EditResourceDocumentPage editResourceDocumentPage = editResourcePage.getResourceDetailsTab().clickOnEditDocument(); editResourceDocumentPage.clickOnGenerate(); editResourceDocumentPage.clickOnSave(); editResourceDocumentPage.getAlertArea().closeAlert(); - XMLUtils document1 = new XMLUtils(editResourceDocumentPage.getDocumentValue()); + editResourceDocumentPage.clickOnValidate(); + soft.assertEquals(editResourceDocumentPage.getAlertArea().getAlertMessage(), "Document is Valid."); + + EditResourceDocumentWizardDialog editResourceDocumentWizardDialog = editResourceDocumentPage.clickOnDocumentWizard(); + + String generatedExtensionIdvalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionNamevalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionAgencyIdvalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionAgencyNamevalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionAgencyURIvalue = "www." + Generator.randomAlphaNumericValue(8) + ".com"; + String generatedExtensionVersionIdvalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionURIvalue = "www." + Generator.randomAlphaNumericValue(8) + ".com"; + String generatedExtensionReasonCodevalue = Generator.randomAlphaNumericValue(8); + String generatedExtensionReasonvalue = Generator.randomAlphaNumericValue(8); + + + editResourceDocumentWizardDialog.getExtensionIdInput().fill(generatedExtensionIdvalue); + editResourceDocumentWizardDialog.getExtensionNamenput().fill(generatedExtensionNamevalue); + editResourceDocumentWizardDialog.getExtensionAgencyIdnput().fill(generatedExtensionAgencyIdvalue); + editResourceDocumentWizardDialog.getExtensionAgencyNameInput().fill(generatedExtensionAgencyNamevalue); + editResourceDocumentWizardDialog.getExtensionAgencyURIInput().fill(generatedExtensionAgencyURIvalue); + editResourceDocumentWizardDialog.getExtensionVersionIDInput().fill(generatedExtensionVersionIdvalue); + editResourceDocumentWizardDialog.getExtensionURIInput().fill(generatedExtensionURIvalue); + editResourceDocumentWizardDialog.getExtensionReasonCodeInput().fill(generatedExtensionReasonCodevalue); + editResourceDocumentWizardDialog.getExtensionReasonInput().fill(generatedExtensionReasonvalue); + + editResourceDocumentWizardDialog.clickOK(); + editResourceDocumentPage.clickOnSave(); + editResourceDocumentPage.clickOnValidate(); + + String document = editResourceDocumentPage.getDocumentValue(); + XMLUtils documentXML = new XMLUtils(document); + + soft.assertEquals(documentXML.getNodeValue("ExtensionID"), generatedExtensionIdvalue, "Wrong ExtensionId value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionName"), generatedExtensionNamevalue, "Wrong ExtensionName value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionAgencyID"), generatedExtensionAgencyIdvalue, "Wrong ExtensionAgencyID value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionAgencyName"), generatedExtensionAgencyNamevalue, "Wrong ExtensionAgencyName value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionAgencyURI"), generatedExtensionAgencyURIvalue, "Wrong ExtensionAgencyURI value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionVersionID"), generatedExtensionVersionIdvalue, "Wrong ExtensionVersionID value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionURI"), generatedExtensionURIvalue, "Wrong ExtensionURI value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionReasonCode"), generatedExtensionReasonCodevalue, "Wrong ExtensionReasonCode value"); + soft.assertEquals(documentXML.getNodeValue("ExtensionReason"), generatedExtensionReasonvalue, "Wrong ExtensionReason value"); + + soft.assertAll(); } + + }