Created
January 17, 2018 11:45
Revisions
-
Ebazhanov created this gist
Jan 17, 2018 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,137 @@ package de.base.utils.GmailReader import ru.yandex.qatools.allure.annotations.Step import javax.mail.* import static com.codeborne.selenide.Selenide.sleep import static de.base.utils.GmailReader.ConnectToEmailByImap.gmailProperties /** * Go to Gmail "Inbox" then read received letters * */ class ReadGmailAccount { @Step static checkThatSubjectOfTheLetterIsPresent(String userEmail, String password, String subject) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder("Inbox") emailFolder.open(Folder.READ_WRITE) sleep(3000) if (emailFolder.getMessageCount() != 0) { assert emailFolder.getMessage(1).getSubject() == subject } else if (emailFolder.getMessageCount() == 0) { sleep(8000) assert emailFolder.getMessage(1).getSubject() == subject } emailFolder.close(true) store.close() return this } @Step static checkThatSubjectOfTheLetterIsPresent(String folderName, String userEmail, String password, String subject) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder(folderName) emailFolder.open(Folder.READ_WRITE) sleep(3000) if (emailFolder.getMessageCount() != 0) { assert emailFolder.getMessage(1).getSubject().contains(subject) } else if (emailFolder.getMessageCount() == 0) { sleep(8000) assert emailFolder.getMessage(1).getSubject().contains(subject) } emailFolder.close(true) store.close() return this } @Step static checkThatSubjectOfTheLetterIsPresentForMessageNumber(String userEmail, String password, String subject, int messageNumber) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder("Inbox") emailFolder.open(Folder.READ_WRITE) sleep(10000) assert emailFolder.getMessage(messageNumber).getSubject() == subject emailFolder.close(true) store.close() return this } @Step static checkThatSubjectOfTheLetterIsNotPresent(String userEmail, String password, String subject) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder("Inbox") emailFolder.open(Folder.READ_WRITE) def messages = emailFolder.getMessages() messages.reverse(true) sleep(8000) for (Message m in messages) { assert m.getSubject() != subject } emailFolder.close(true) store.close() return this } @Step static checkThatSubjectOfTheLetterIsNotPresent(String folderName, String userEmail, String password, String subject) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder(folderName) emailFolder.open(Folder.READ_WRITE) def messages = emailFolder.getMessages() messages.reverse(true) sleep(8000) for (Message m in messages) { assert m.getSubject() != subject } emailFolder.close(true) store.close() return this } @Step static deleteLettersUnderEmailAccount(String userEmail, String password) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder("Inbox") emailFolder.open(Folder.READ_WRITE) def messages = emailFolder.getMessages().reverse(true) for (Message m in messages) { m.setFlag(Flags.Flag.DELETED, true) } emailFolder.close(true) store.close() return this } @Step static deleteLettersUnderEmailAccount(String folderName, String userEmail, String password) { Session emailSession = Session.getDefaultInstance(gmailProperties()) Store store = emailSession.getStore("imaps") store.connect("imap.googlemail.com", userEmail, password) Folder emailFolder = store.getFolder(folderName) emailFolder.open(Folder.READ_WRITE) def messages = emailFolder.getMessages().reverse(true) for (Message m in messages) { m.setFlag(Flags.Flag.DELETED, true) } emailFolder.close(true) store.close() return this } }