Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Merge pull request #573 from zanata/use-restcaller-in-uploadtest
Browse files Browse the repository at this point in the history
Use rest caller in upload tests, fix breakages
  • Loading branch information
seanf committed Sep 2, 2014
2 parents a248190 + e17d5f6 commit 163d1b7
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 86 deletions.
Expand Up @@ -4,6 +4,7 @@
import java.util.List;

import com.google.common.base.Predicate;
import lombok.extern.slf4j.Slf4j;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
Expand All @@ -14,6 +15,7 @@
* @author Damian Jansen <a
* href="mailto:djansen@redhat.com">djansen@redhat.com</a>
*/
@Slf4j
public class VersionDocumentsTab extends VersionBasePage {

public static final String UNSUPPORTED_FILETYPE =
Expand Down Expand Up @@ -144,10 +146,10 @@ public String getUploadError() {
@Override
public boolean apply(WebDriver input) {
return getDriver().findElement(By.id("file-upload-component"))
.findElement(By.className("txt--danger")).isDisplayed();
.findElement(By.className("message--danger")).isDisplayed();
}
});
return getDriver().findElement(By.id("file-upload-component"))
.findElement(By.className("txt--danger")).getText();
.findElement(By.className("message--danger")).getText();
}
}
Expand Up @@ -37,6 +37,7 @@
import org.zanata.util.CleanDocumentStorageRule;
import org.zanata.util.SampleProjectRule;
import org.zanata.util.TestFileGenerator;
import org.zanata.util.ZanataRestCaller;
import org.zanata.workflow.BasicWorkFlow;
import org.zanata.workflow.LoginWorkFlow;
import org.zanata.workflow.ProjectWorkFlow;
Expand All @@ -51,28 +52,23 @@
@Slf4j
public class MultiFileUploadTest extends ZanataTestCase {

@ClassRule
public static SampleProjectRule sampleProjectRule = new SampleProjectRule();
@Rule
public SampleProjectRule sampleProjectRule = new SampleProjectRule();

@Rule
public CleanDocumentStorageRule documentStorageRule =
new CleanDocumentStorageRule();

private ZanataRestCaller zanataRestCaller;
private TestFileGenerator testFileGenerator = new TestFileGenerator();
private String documentStorageDirectory;


@BeforeClass
public static void beforeClass() {
new LoginWorkFlow().signIn("admin", "admin");
new ProjectWorkFlow().createNewProjectVersion(
"about fedora", "multi-upload", "File")
.logout();
}

@Before
public void before() {
new BasicWorkFlow().goToHome().deleteCookiesAndRefresh();
zanataRestCaller = new ZanataRestCaller();
zanataRestCaller.createProjectAndVersion("multi-upload", "multi-upload",
"file");
documentStorageDirectory = CleanDocumentStorageRule
.getDocumentStoragePath()
.concat(File.separator)
Expand All @@ -82,6 +78,7 @@ public void before() {
if (new File(documentStorageDirectory).exists()) {
log.warn("Document storage directory exists (cleanup incomplete)");
}
new LoginWorkFlow().signIn("admin", "admin");
}

@Test(timeout = ZanataTestCase.MAX_SHORT_TEST_DURATION)
Expand All @@ -95,10 +92,8 @@ public void uploadedDocumentsAreInFilesystem() {
"This is another test file");
String testFileName = firstFile.getName();

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("multi-upload")
.gotoVersion("multi-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand Down Expand Up @@ -127,10 +122,8 @@ public void removeFileFromUploadList() {
File keptUploadFile = testFileGenerator.generateTestFileWithContent(
"removeFileFromUploadList", ".txt", "Remove File Upload Test");

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("multi-upload")
.gotoVersion("multi-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand Down
Expand Up @@ -35,6 +35,7 @@
import org.zanata.util.CleanDocumentStorageRule;
import org.zanata.util.SampleProjectRule;
import org.zanata.util.TestFileGenerator;
import org.zanata.util.ZanataRestCaller;
import org.zanata.workflow.BasicWorkFlow;
import org.zanata.workflow.LoginWorkFlow;
import org.zanata.workflow.ProjectWorkFlow;
Expand All @@ -60,15 +61,15 @@ public class SubtitleDocumentTypeTest extends ZanataTestCase {
public CleanDocumentStorageRule documentStorageRule =
new CleanDocumentStorageRule();

private ZanataRestCaller zanataRestCaller;
private TestFileGenerator testFileGenerator = new TestFileGenerator();
private String sep = System.getProperty("line.separator");

@BeforeClass
public static void beforeClass() {
new LoginWorkFlow().signIn("admin", "admin");
new ProjectWorkFlow().createNewProjectVersion(
"about fedora", "subtitle-upload", "File")
.logout();
@Before
public void beforeClass() {
zanataRestCaller = new ZanataRestCaller();
zanataRestCaller.createProjectAndVersion("subtitle-test", "subtitles",
"file");
}

@Test(timeout = ZanataTestCase.MAX_SHORT_TEST_DURATION)
Expand Down Expand Up @@ -243,8 +244,8 @@ private EditorPage uploadAndGoToDocument(File testFile) {
VersionDocumentsPage versionDocumentsPage = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
.gotoVersion("subtitle-upload")
.goToProject("subtitle-test")
.gotoVersion("subtitles")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
.pressUploadFileButton()
Expand Down
Expand Up @@ -38,6 +38,7 @@
import org.zanata.util.CleanDocumentStorageRule;
import org.zanata.util.SampleProjectRule;
import org.zanata.util.TestFileGenerator;
import org.zanata.util.ZanataRestCaller;
import org.zanata.workflow.BasicWorkFlow;
import org.zanata.workflow.LoginWorkFlow;
import org.zanata.workflow.ProjectWorkFlow;
Expand All @@ -53,28 +54,23 @@
@Slf4j
public class UploadTest extends ZanataTestCase {

@ClassRule
public static SampleProjectRule sampleProjectRule = new SampleProjectRule();
@Rule
public SampleProjectRule sampleProjectRule = new SampleProjectRule();

@Rule
public CleanDocumentStorageRule documentStorageRule =
new CleanDocumentStorageRule();

private ZanataRestCaller zanataRestCaller;
private TestFileGenerator testFileGenerator = new TestFileGenerator();
private String documentStorageDirectory;


@BeforeClass
public static void beforeClass() {
new LoginWorkFlow().signIn("admin", "admin");
new ProjectWorkFlow().createNewProjectVersion(
"about fedora", "txt-upload", "File")
.logout();
}

@Before
public void before() {
new BasicWorkFlow().goToHome().deleteCookiesAndRefresh();
zanataRestCaller = new ZanataRestCaller();
zanataRestCaller.createProjectAndVersion("uploadtest",
"txt-upload", "file");
documentStorageDirectory = CleanDocumentStorageRule
.getDocumentStoragePath()
.concat(File.separator)
Expand All @@ -84,6 +80,7 @@ public void before() {
if (new File(documentStorageDirectory).exists()) {
log.warn("Document storage directory exists (cleanup incomplete)");
}
new LoginWorkFlow().signIn("admin", "admin");
}

@Test(timeout = ZanataTestCase.MAX_SHORT_TEST_DURATION)
Expand All @@ -95,10 +92,8 @@ public void uploadedDocumentIsInFilesystem() {
"This is a test file");
String testFileName = originalFile.getName();

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand Down Expand Up @@ -133,10 +128,8 @@ public void cancelFileUpload() {
testFileGenerator.generateTestFileWithContent(
"cancelFileUpload", ".txt", "Cancel File Upload Test");

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -151,10 +144,8 @@ public void cancelFileUpload() {

@Test(timeout = ZanataTestCase.MAX_SHORT_TEST_DURATION)
public void emptyFilenameUpload() {
VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -177,10 +168,8 @@ public void handleReallyBigFile() {
assumeTrue("Data file " + bigFile.getName() + " is big",
bigFile.length() == fileSizeInMB);

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -202,10 +191,8 @@ public void failOnInvalidFileUpload() {
String successfullyUploaded =
"Document " + noFile.getName() + " uploaded.";

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -227,10 +214,8 @@ public void handleVeryLongFileNames() {
File longFile = testFileGenerator.generateTestFileWithContent(
testFileGenerator.longFileName(), ".txt",
"This filename is long");
VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -254,10 +239,8 @@ public void emptyFile() {
.generateTestFileWithContent("emptyFile", ".txt", "");
assumeTrue("File is empty", emptyFile.length() == 0);

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
Expand All @@ -284,16 +267,13 @@ public void rejectUnsupportedValidFiletype() {
File unsupportedFile = testFileGenerator
.generateTestFileWithContent("testfodt", ".fodt", "<xml></xml>");

VersionDocumentsTab versionDocumentsTab = new LoginWorkFlow()
.signIn("admin", "admin")
.goToProjects()
.goToProject("about fedora")
VersionDocumentsTab versionDocumentsTab = new ProjectWorkFlow()
.goToProjectByName("uploadtest")
.gotoVersion("txt-upload")
.gotoSettingsTab()
.gotoSettingsDocumentsTab()
.pressUploadFileButton()
.enterFilePath(unsupportedFile.getAbsolutePath())
.submitUpload();
.enterFilePath(unsupportedFile.getAbsolutePath());

assertThat(versionDocumentsTab.getUploadError())
.contains(VersionDocumentsTab.UNSUPPORTED_FILETYPE)
Expand Down
Expand Up @@ -68,18 +68,9 @@ public void testContactAdmin() {
String content = HasEmailRule.getEmailContent(wiserMessage);

assertThat(content)
.contains("Zanata user ")
.contains("translator")
.contains(" with id ")
.matches(loosely(" has sent the following message:"))
.as("The email header is correct");
assertThat(content)
.contains("I love Zanata")
.as("The message content is correct");
assertThat(content)
.contains("You can reply to translator at " +
"translator@example.com")
.as("The email instructions are correct");
.contains("You are receiving this mail because:")
.contains("You are an administrator")
.contains("I love Zanata");

// contains instance url (without last slash)
String instanceUrl = PropertiesHolder.getProperty(
Expand Down

0 comments on commit 163d1b7

Please sign in to comment.