Skip to main content

A IMAP email testing library for Robot Framework

Project description

IMAP email testing library for Robot Framework

Docs Version Status Python Download License

Introduction

Note: This is a fork of https://github.com/rickypc/robotframework-imaplibrary

ImapLibrary2 is a IMAP email testing library for Robot Framework.

More information about this library can be found in the Keyword Documentation.

If you are interested to contribute back to this project, please see Contributing section.

Examples

*** Settings ***
Library    ImapLibrary2

*** Test Cases ***
Email Verification
    Open Mailbox    host=imap.domain.com    user=email@domain.com    password=secret
    ${LATEST} =    Wait For Email    sender=noreply@domain.com    timeout=300
    ${HTML} =    Open Link From Email    ${LATEST}
    Should Contain    ${HTML}    Your email address has been updated
    Close Mailbox

Multipart Email Verification
    Open Mailbox    host=imap.domain.com    user=email@domain.com    password=secret
    ${LATEST} =    Wait For Email    sender=noreply@domain.com    timeout=300
    ${parts} =    Walk Multipart Email    ${LATEST}
    :FOR    ${i}    IN RANGE    ${parts}
    \\    Walk Multipart Email    ${LATEST}
    \\    ${content-type} =    Get Multipart Content Type
    \\    Continue For Loop If    '${content-type}' != 'text/html'
    \\    ${payload} =    Get Multipart Payload    decode=True
    \\    Should Contain    ${payload}    your email
    \\    ${HTML} =    Open Link From Email    ${LATEST}
    \\    Should Contain    ${HTML}    Your email
    Close Mailbox

Installation

Using pip

The recommended installation method is using pip:

pip install robotframework-imaplibrary2

The main benefit of using pip is that it automatically installs all dependencies needed by the library. Other nice features are easy upgrading and support for un-installation:

pip install --upgrade robotframework-imaplibrary2
pip uninstall robotframework-imaplibrary2

Notice that using --upgrade above updates both the library and all its dependencies to the latest version. If you want, you can also install a specific version:

pip install robotframework-imaplibrary2==x.x.x

Proxy configuration

If you are behind a proxy, you can use --proxy command line option or set http_proxy and/or https_proxy environment variables to configure pip to use it. If you are behind an authenticating NTLM proxy, you may want to consider installing CNTML to handle communicating with it.

For more information about --proxy option and using pip with proxies in general see:

Manual installation

If you do not have network connection or cannot make proxy to work, you need to resort to manual installation. This requires installing both the library and its dependencies yourself.

gpg --keyserver pgp.mit.edu --search-keys D1406DE7
  • Select the number from the list to import the public key
  • Verify the package against its PGP signature:
gpg --verify robotframework-imaplibrary-x.x.x.tar.gz.asc robotframework-imaplibrary-x.x.x.tar.gz
  • Extract each source distribution to a temporary location.
  • Go to each created directory from the command line and install each project using:
python setup.py install

If you are on Windows, and there are Windows installers available for certain projects, you can use them instead of source distributions. Just download 32bit or 64bit installer depending on your system, double-click it, and follow the instructions.

Directory Layout

doc/ : Keyword documentation

src/ : Python source code

test/ : Test files

utest/
:   Python unit test

Usage

To write tests with Robot Framework and ImapLibrary, ImapLibrary must be imported into your Robot test suite.

*** Settings ***
Library    ImapLibrary2

See Robot Framework User Guide for more information.

More information about Robot Framework standard libraries and built-in tools can be found in the Robot Framework Documentation.

Building Keyword Documentation

The Keyword Documentation can be found online, if you need to generate the keyword documentation, run:

make doc

Run Unit Tests, and Test Coverage Report

Test the testing library, talking about dogfooding, let's run:

make test

Contributing

If you would like to contribute code to Imap Library project you can do so through GitHub by forking the repository and sending a pull request.

When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible. Please also include appropriate test cases.

Before your code can be accepted into the project you must also sign the Imap Library CLA (Individual Contributor License Agreement).

That's it! Thank you for your contribution!

License

Copyright (c) 2015-2016 Richard Huang.

This library is free software, licensed under: Apache License, Version 2.0.

Documentation and other similar content are provided under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-imaplibrary2-0.3.6.tar.gz (62.6 kB view details)

Uploaded Source

Built Distribution

robotframework_imaplibrary2-0.3.6-py2.py3-none-any.whl (13.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file robotframework-imaplibrary2-0.3.6.tar.gz.

File metadata

  • Download URL: robotframework-imaplibrary2-0.3.6.tar.gz
  • Upload date:
  • Size: 62.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for robotframework-imaplibrary2-0.3.6.tar.gz
Algorithm Hash digest
SHA256 4caeba8b2881b3922f807d6ddc7dcc0df51f60fbc74fa87a338843d180219b7d
MD5 b779a840788c49018a350981a5dc9545
BLAKE2b-256 3e9278d7243632a9b170bed2f8e745ae0651e5a07fffbba31241af8c2a484aa5

See more details on using hashes here.

File details

Details for the file robotframework_imaplibrary2-0.3.6-py2.py3-none-any.whl.

File metadata

  • Download URL: robotframework_imaplibrary2-0.3.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for robotframework_imaplibrary2-0.3.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 59f8b61c74ce1a73b24392b96e5b7e26bb7c0a537a3b773ae1b5c75502b74290
MD5 ec6a84a6099c2900cce45e093a8bb8b0
BLAKE2b-256 2397107a239c7b6542868c8acd08c286af4f5f81f74125e6ab6220ba917e935d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page