예제 #1
0
    def load(self, file_name):
        maillist_name = file_name.replace("_", " ")

        # create a Dummy mail list, so we can call the methods
        if self.mail_list is None:
            self.mail_list = MailList(-1, maillist_name)

        file = open(self.get_file_path(), "r")
        contents = file.read()
        file.close()

        lines = contents.split("\n")
        maillist_id = int(lines[0])
        lines.pop(0)

        result = MailList(maillist_id, maillist_name)

        if lines == [""]:
            return result

        for unparsed_subscriber in lines:
            subscriber = unparsed_subscriber.split(" - ")
            result.add_subscriber(subscriber[0], subscriber[1])

        return result
예제 #2
0
    def load(self, file_name):
        maillist_name = file_name.replace("_", " ")

        # create a Dummy mail list, so we can call the methods
        if self.mail_list is None:
            self.mail_list = MailList(-1, maillist_name)

        cursor.execute('''CREATE TABLE IF NOT EXISTS maillist
            (list_id int, list_name text''')

        cursor.execute('''CREATE TABLE IF NOT EXISTS subscribers
            (sub_id int, name text, email text)''')

        cursor.execute('''CREATE TABLE IF NOT EXISTS m_to_s
            (list_id int, list_name text''')

        file = open(self.get_file_path(), "r")
        contents = file.read()
        file.close()

        lines = contents.split("\n")
        maillist_id = int(lines[0])
        lines.pop(0)

        result = MailList(maillist_id, maillist_name)

        for unparsed_subscriber in lines:
            subscriber = unparsed_subscriber.split(" - ")
            if len(subscriber) >= 2:
                result.add_subscriber(subscriber[0], subscriber[1])

        return result
예제 #3
0
    def load(self, file_name):
        maillist_name = file_name.replace("_", " ")

        # create a Dummy mail list, so we can call the methods
        if self.mail_list is None:
            self.mail_list = MailList(-1, maillist_name)

        file = open(self.get_file_path(), "r")
        contents = file.read()
        file.close()

        lines = contents.split("\n")
        maillist_id = int(lines[0])
        lines.pop(0)

        result = MailList(maillist_id, maillist_name)

        for unparsed_subscriber in lines:
            subscriber = unparsed_subscriber.split(" - ")
            result.add_subscriber(subscriber[0], subscriber[1])

        return result
예제 #4
0
class MailListTest(unittest.TestCase):
    """docstring for MailListTest"""

    def setUp(self):
        # f**k static
        self.m = MailList(1, "Hack Bulgaria")

    def test_create_mail_list_get_name(self):
        self.assertEqual("Hack Bulgaria", self.m.get_name())

    def test_add_subscriber(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        self.assertEqual(1, self.m.count())

    def test_get_subscribers(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        expected = [("Rado", "*****@*****.**")]
        self.assertEqual(expected, self.m.get_subscribers())

    def test_get_id(self):
        self.assertEqual(1, self.m.get_id())

    def test_get_id_after_three_instances(self):
        m1 = MailList(1, "Hack")
        m2 = MailList(2, "Hack")
        m3 = MailList(3, "Hack")

        self.assertEqual(1, m1.get_id())
        self.assertEqual(2, m2.get_id())
        self.assertEqual(3, m3.get_id())

    def test_add_subscriber_with_same_email_address(self):
        subscriber_email = "*****@*****.**"

        add1 = self.m.add_subscriber("Rado", subscriber_email)
        add2 = self.m.add_subscriber("Rado Rado", subscriber_email)

        self.assertEqual(1, self.m.count())
        self.assertTrue(add1)
        self.assertFalse(add2)
        self.assertEqual(("Rado", subscriber_email),
                         self.m.get_subscriber_by_email(subscriber_email))

    def test_add_get_subscriber_by_email(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        result = self.m.get_subscriber_by_email("*****@*****.**")
        self.assertEqual(("Rado", "*****@*****.**"), result)

    def test_add_get_subscriber_by_email_when_not_there(self):
        self.assertIsNone(self.m.get_subscriber_by_email("*****@*****.**"))

    def test_update_subscriber_changing_name(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev"})

        self.assertEqual("Radoslav Georgiev",
                         self.m.get_subscriber_by_email("*****@*****.**")[0])

    def test_update_subscriber_changing_email(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"email": "*****@*****.**"})

        self.assertEqual(("Rado rado", "*****@*****.**"),
                         self.m.get_subscriber_by_email("*****@*****.**"))

    def test_update_subscriber_changing_name_and_email(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev",
                                  "email": "*****@*****.**"})

        self.assertEqual(("Radoslav Georgiev", "*****@*****.**"),
                         self.m.get_subscriber_by_email("*****@*****.**"))

    def test_remove_subscriber(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.remove_subscriber("*****@*****.**")

        self.assertEqual(0, self.m.count())

    def test_remove_subscriber_when_not_there(self):
        self.assertIsNone(self.m.remove_subscriber("*****@*****.**"))
예제 #5
0
class MailListTest(unittest.TestCase):
    """docstring for MailListTest"""

    def setUp(self):
        # f**k static
        self.m = MailList(1, "Hack Bulgaria")

    def test_create_mail_list_get_name(self):
        self.assertEqual("Hack Bulgaria", self.m.get_name())

    def test_add_subscriber(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        self.assertEqual(1, self.m.count())

    def test_get_subscribers(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        expected = [("Rado", "*****@*****.**")]
        self.assertEqual(expected, self.m.get_subscribers())

    def test_get_id(self):
        self.assertEqual(1, self.m.get_id())

    def test_get_id_after_three_instances(self):
        m1 = MailList(1, "Hack")
        m2 = MailList(2, "Hack")
        m3 = MailList(3, "Hack")

        self.assertEqual(1, m1.get_id())
        self.assertEqual(2, m2.get_id())
        self.assertEqual(3, m3.get_id())

    def test_add_subscriber_with_same_email_address(self):
        subscriber_email = "*****@*****.**"

        add1 = self.m.add_subscriber("Rado", subscriber_email)
        add2 = self.m.add_subscriber("Rado Rado", subscriber_email)

        self.assertEqual(1, self.m.count())
        self.assertTrue(add1)
        self.assertFalse(add2)
        self.assertEqual(("Rado", subscriber_email),
                         self.m.get_subscriber_by_email(subscriber_email))

    def test_add_get_subscriber_by_email(self):
        self.m.add_subscriber("Rado", "*****@*****.**")

        result = self.m.get_subscriber_by_email("*****@*****.**")
        self.assertEqual(("Rado", "*****@*****.**"), result)

    def test_add_get_subscriber_by_email_when_not_there(self):
        self.assertIsNone(self.m.get_subscriber_by_email("*****@*****.**"))

    def test_update_subscriber_changing_name(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev"})

        self.assertEqual("Radoslav Georgiev",
                         self.m.get_subscriber_by_email("*****@*****.**")[0])

    def test_update_subscriber_changing_email(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"email": "*****@*****.**"})

        self.assertEqual(("Rado rado", "*****@*****.**"),
                         self.m.get_subscriber_by_email("*****@*****.**"))

    def test_update_subscriber_changing_name_and_email(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev",
                                  "email": "*****@*****.**"})

        self.assertEqual(("Radoslav Georgiev", "*****@*****.**"),
                         self.m.get_subscriber_by_email("*****@*****.**"))

    def test_remove_subscriber(self):
        self.m.add_subscriber("Rado rado", "*****@*****.**")
        self.m.remove_subscriber("*****@*****.**")

        self.assertEqual(0, self.m.count())

    def test_remove_subscriber_when_not_there(self):
        self.assertIsNone(self.m.remove_subscriber("*****@*****.**"))
예제 #6
0
class MailListTest(unittest.TestCase):
    """docstring for MailListTest"""

    def setUp(self):
        # f**k static
        self.m = MailList("Hack Bulgaria")

    def test_create_mail_list_get_name(self):
        self.assertEqual("Hack Bulgaria", self.m.get_name())

    def test_add_subscriber(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)

        self.assertEqual(1, self.m.count())

    def test_get_subscribers(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)

        expected = [("Rado", "*****@*****.**")]
        self.assertEqual(expected, self.m.get_subscribers())


    def test_add_subscriber_with_same_email_address(self):
        subscriber_email = "*****@*****.**"
        subscriber_1 = Subscriber("Rado", subscriber_email)
        subscriber_2 = Subscriber("Rado Rado", subscriber_email)

        add1 = self.m.add_subscriber(subscriber_1)
        add2 = self.m.add_subscriber(subscriber_2)

        self.assertEqual(1, self.m.count())
        self.assertTrue(add1)
        self.assertFalse(add2)
        subscriber = self.m.get_subscriber_by_email(subscriber_email)
        self.assertEqual("Rado", subscriber.get_name())

    def test_add_get_subscriber_by_email(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)

        result = self.m.get_subscriber_by_email("*****@*****.**")
        self.assertEqual("Rado", result.get_name())

    def test_add_get_subscriber_by_email_when_not_there(self):
        self.assertIsNone(self.m.get_subscriber_by_email("*****@*****.**"))

    def test_update_subscriber_changing_name(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev"})

        sub = self.m.get_subscriber_by_email("*****@*****.**")
        self.assertEqual("Radoslav Georgiev",
                         sub.get_name())

    def test_update_subscriber_changing_email(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)
        self.m.update_subscriber("*****@*****.**",
                                 {"email": "*****@*****.**"})

        self.assertEqual("*****@*****.**",
                         self.m.get_subscriber_by_email("*****@*****.**").get_email())

    def test_update_subscriber_changing_name_and_email(self):
        subscriber = Subscriber("Rado rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)
        self.m.update_subscriber("*****@*****.**",
                                 {"name": "Radoslav Georgiev",
                                  "email": "*****@*****.**"})

        self.assertEqual("Radoslav Georgiev",
                         self.m.get_subscriber_by_email("*****@*****.**").get_name())

    def test_remove_subscriber(self):
        subscriber = Subscriber("Rado", "*****@*****.**")
        self.m.add_subscriber(subscriber)
        self.m.remove_subscriber("*****@*****.**")

        self.assertEqual(0, self.m.count())

    def test_remove_subscriber_when_not_there(self):
        self.assertIsNone(self.m.remove_subscriber("*****@*****.**"))