예제 #1
0
 def setUp(self):
     self.db = MongoDatabaseHandler()
     self.db.clear_all()
     #self.db.clear_profiles()
     self.new_prof = Profile.dummy_profile()
예제 #2
0
from profile import Profile
from mongo_database_handler import MongoDatabaseHandler  
db = MongoDatabaseHandler()

db.clear_all()
db.setup_pages()
db.add_carousel_links()
db.add_rut_info_page()

profile = Profile("*****@*****.**", "admin", "admin", "admin")
db.add_profile(profile)
예제 #3
0
class DatabaseTests(unittest.TestCase):
    def setUp(self):
        self.db = MongoDatabaseHandler()
        self.db.clear_all()
        #self.db.clear_profiles()
        self.new_prof = Profile.dummy_profile()
        
    def test_add_profile(self):
        self.assertTrue(self.db.add_profile(self.new_prof))
        profile_data = self.db.get_profile_data(self.new_prof.email)        
        
        self.assertNotEqual(profile_data, None)
        self.assertEqual(Profile.get_profile(profile_data).email,
                         self.new_prof.email)

        #Try add another with same email, should fail 
        self.assertFalse(self.db.add_profile(self.new_prof))

    def test_change_phone(self):
        self.test_add_profile()
                
        self.assertTrue(self.db.change_phone(self.new_prof.email,
                                             1112233444))
        
        profile_data = self.db.get_profile_data(self.new_prof.email)
        self.assertNotEqual(Profile.get_profile(profile_data).phone,
                            self.new_prof.phone)

    def test_change_address(self):
        self.test_add_profile()
        self.assertTrue(self.db.change_address_road(self.new_prof.email,
                                                      "new road"))
        profile_data = self.db.get_profile_data(self.new_prof.email)
        
        self.assertNotEqual(Profile.get_profile(profile_data).address,
                            self.new_prof.address["road"])
        
    def test_rem_profile(self):
        self.test_add_profile()

        self.assertTrue(self.db.rem_profile(self.new_prof.email))
        profile_data = self.db.get_profile_data(self.new_prof.email)
        self.assertEqual(profile_data, None)
        
    def test_profile_password(self):
        self.test_add_profile()

        self.assertTrue(self.db.password_correct(self.new_prof.email,
                                                 self.new_prof.password_not_hashed))
        self.assertFalse(self.db.password_correct(self.new_prof.email,
                                                  "incorrect_password"))
        self.assertTrue(self.db.change_password(self.new_prof.email,
                                                self.new_prof.password_not_hashed,
                                                "new_password"))
        self.assertTrue(self.db.password_correct(self.new_prof.email,
                                                 "new_password"))
    

    def test_get_all_profiles(self):
        profiles = Profile.dummy_profiles()
        for profile in profiles:
            self.assertTrue(self.db.add_profile(profile))

        self.assertEqual(self.db.get_all_profiles().count(), len(profiles))    

    def test_add_page(self):
        page_name = "test"
        self.assertTrue(self.db.add_page(page_name))
    
        field_name = "test_field"
        field = {"header": {"type": "text", "value": "test"},
                 "text": {"type":"text", "value": "test"},
                 "button": {"type": "text", "value": "test"}}
        self.assertTrue(self.db.add_field(page_name, field_name, field))
        
        page = self.db.get_page(page_name)
        self.assertEqual(page["name"], page_name)
        self.assertNotEqual(page["fields"][field_name], None)
        self.assertEqual(page["fields"][field_name]["header"], field["header"])
    
    def test_modify_page(self):
        self.test_add_page()
        page_name = "test"
        field_name = "test_field.header"
        #field = {"header": "changed_test", "text": "changed_test", "button": "changed_test"}

        field = {"header": {"type": "text", "value": "changed_test"},
                 "text": {"type":"text", "value": "changed_test"},
                 "button": {"type": "text", "value": "changed_test"}}
        value="changed_test"
        self.assertTrue(self.db.update_page_field(page_name, field_name, value))
        self.assertEqual(self.db.get_page(page_name)["fields"]["test_field"]["header"]["value"], value)
        """
        field_name1 = "test_field1"
        field_name2 = "test_field2"
        
        field1 = {"header": {"type": "text", "value": "f1"},
                  "text": {"type":"text", "value": "f1"},
                  "button": {"type": "text", "value": "f1"}}

        field2 = {"header": {"type": "text", "value": "f2"},
                  "text": {"type":"text", "value": "f2"},
                  "button": {"type": "text", "value": "f2"}}

        self.assertTrue(self.db.add_field(page_name, field_name1, field1))
        self.assertTrue(self.db.add_field(page_name, field_name2, field2))

        #Swap the field values
        fields = {}
        fields[field_name1] = field2
        fields[field_name2] = field1        
        self.assertTrue(self.db.update_page_fields(page_name, fields))
        page = self.db.get_page(page_name)
        self.assertEqual(page["fields"][field_name1], field2)
        self.assertEqual(page["fields"][field_name2], field1)
        """
    def test_interest(self):
        dummy_interest = {}
        dummy_interest["email"] = "*****@*****.**"
        dummy_interest["name"] = "Johnnny Doeyy"
        dummy_interest["address"] = "address 1"
        dummy_interest["phone"] = "0700311999"
        dummy_interest["help_with"] = "help_with text"
        dummy_interest["date"] = "2014-09-28"
        
        self.assertTrue(self.db.add_interest_data(dummy_interest))
        interests = self.db.get_all_interests()
        interests_unread = self.db.get_all_unread_interests()
        self.assertEqual(interests.count(), 1)
        self.assertEqual(interests.count(), 1)
        interest = self.db.get_interest(interests[0]["_id"])
        self.assertEqual(interest["email"], dummy_interest["email"])