Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
smtpapi / test / __init__.py
Size: Mime:
import unittest
import json
from smtpapi import SMTPAPIHeader


class TestSMTPAPI(unittest.TestCase):

    def setUp(self):
        self.validHeader = json.loads('''{"to":["test@email.com",
        "test2@email.com", "test3@email.com"],
        "sub":{"subKey":["subValue"]},
        "section":{"testSection":"sectionValue"},
        "category":["testCategory"],
        "unique_args":{"testUnique":"uniqueValue"},
        "asm_group_id":42,
        "send_each_at":[1409348513, 1409348514],
        "send_at": 1409348515,
        "filters":{"testFilter":{"settings":{"filter":"filterValue"}}}}''')

        self.dropsHeader = json.loads('''{
        "sub":{"subKey":["subValue"]},
        "unique_args":{"testUnique":"uniqueValue"},
        "filters":{"testFilter":{"settings":{"filter":"filterValue"}}}}''')

    def test_add(self):
        header = SMTPAPIHeader()
        header.add_to('test@email.com')
        header.add_to(['test2@email.com', 'test3@email.com'])
        header.add_substitution('subKey', 'subValue')
        header.add_section('testSection', 'sectionValue')
        header.add_category('testCategory')
        header.add_unique_arg('testUnique', 'uniqueValue')
        header.set_asm_group_id(42)
        header.add_send_each_at(1409348513)
        header.add_send_each_at(1409348514)
        header.set_send_at(1409348515)
        header.add_filter('testFilter', 'filter', 'filterValue')
        self.assertEqual(self.validHeader, json.loads(header.json_string()))

    def test_set(self):
        header = SMTPAPIHeader()
        header.set_tos(["test@email.com", "test2@email.com", "test3@email.com"])
        header.set_substitutions(json.loads('{"subKey":["subValue"]}'))
        header.set_sections(json.loads('{"testSection":"sectionValue"}'))
        header.set_categories(["testCategory"])
        header.set_unique_args(json.loads('{"testUnique":"uniqueValue"}'))
        header.set_asm_group_id(42)
        header.set_send_each_at([1409348513, 1409348514])
        header.set_send_at(1409348515)
        header.add_filter('testFilter', 'filter', 'filterValue')
        self.assertEqual(self.validHeader, json.loads(header.json_string()))

    def test_drop_empty(self):
        header = SMTPAPIHeader()
        header.set_tos([])
        header.set_substitutions(json.loads('{"subKey":["subValue"]}'))
        header.set_sections(json.loads('{}'))
        header.set_categories([])
        header.set_unique_args(json.loads('{"testUnique":"uniqueValue"}'))
        header.set_asm_group_id(None)
        header.set_send_each_at([])
        header.add_filter('testFilter', 'filter', 'filterValue')
        self.assertEqual(self.dropsHeader, json.loads(header.json_string()))


if __name__ == '__main__':
    unittest.main()