class TestCredentials(unittest.TestCase):
    """
    Test class that defines te test case for the Credentials behavior
    Args:
        unittest.TestCase: Test class that helps create the test case
    """
#     def test_check_current_user(self):
#         """
#         test_check_current_user checks the current user 
#         """
#         self.new_user = User("Gabriel","Oduori","*****@*****.**","another_password")
#         self.new_user.save_user()
#         another_user = User("Mary","Kamaa","*****@*****.**","email@Password")

#         for user in User.users_list:
#             if user.user_email == another_user.user_email and user.user_password == another_user.user_password:
#                 current_user = user.first_name
#         return current_user
#         self.assertEqual(current_user,Credentials.check_current_user(another_user.user_password, another_user.user_email))


    def setUp(self):
        """
        SetUp method to create an acounts Credentials before each test case
        """
        self.new_credential = Credentials("Twitter","goduori","tWitTer_pass")

    def test_instance(self):
        """
        test_instance to test initialization of the Credentials instance
        """
        self.assertEqual(self.new_credential.site_name,'Twitter')
        self.assertEqual(self.new_credential.site_username,'goduori')
        self.assertEqual(self.new_credential.site_password,'tWitTer_pass')


    def test_save_credentials(self):
        """
        test_save_credentials tests if the credentials created 
        are saved in the credentials list
        """
        self.new_credential.save_credentials()
        twitter = Credentials("Twitter","goduori","tWitTer_pass")
        twitter.save_credentials()
        self.assertEqual(len(Credentials.credentials_list),2)
    
    def tearDown(self):
        """
        This cleans up while after running the tests
        """
        Credentials.credentials_list=[]
    
    def test_save_multiple_credentials(self):
        """
        test_save_multiple_users check if we can save multiple credential
        objects to our user_list
        """
        self.new_credential.save_credentials()
        test_credential= Credentials("Twitter","goduori","tWitTer_pass")
        test_credential.save_credentials()
        self.assertEqual(len(Credentials.credentials_list),2)
        
        
    def test_delete_credentials(self):
        """
        test_delete_credentials checks if we can remove a credential from 
        the credential list
        """
        self.new_credential.save_credentials()
        test_credential = Credentials('Twitter', 'goduori','tWitTer_pass')
        test_credential.save_credentials()
        self.new_credential.delete_credentials()
        self.assertEqual(len(Credentials.credentials_list), 1)
        

    def test_display_credentials(self):
        """
        test_display_credentials checks if the display credential method
        is displaying the data correctly
        """
        self.new_credential.save_credentials()
        Twitter_credential = Credentials('Twitter','goduori','tWitTer_pass')
        Twitter_credential.save_credentials()
        
        FaceBook_credential = Credentials('Facebook','gabriel.oduori','pswdF200')
        FaceBook_credential.save_credentials()
        
        self.assertEqual(len(Credentials.display_credentials(Twitter_credential)),2)
        
        
    def test_copy_password(self):
        """
        test_copy_password test to confirm that the user can copy a password for 
        a given website
        """
        self.new_credential.save_credentials()
        copy_credentials = Credentials('Facebook','gabriel.oduori','pswdF200')
        copy_credentials.save_credentials()
        Credentials.copy_password("Facebook")
        self.assertEqual(self.new_credential.site_password,pyperclip.paste())
Esempio n. 2
0
class TestCredentials(unittest.TestCase):
    '''
    Test class that defines test cases for the credentials class.
    Args:
        unittest.TestCase: TestCase class that helps in creating test cases
    '''
    def setUp(self):
        '''
        Setup method to run before each test case
        '''
        self.new_credentials = Credentials("fb", "Ventura", "0000")

    def tearDown(self):
        '''
        tearDown method that does clean up after each test case has run.
        '''
        Credentials.credentials_list = []

    def test_init(self):
        '''
        test_init test case to test if the object is initialized properly
        '''

        self.assertEqual(self.new_credentials.site, "fb")
        self.assertEqual(self.new_credentials.user_id, "Ventura")
        self.assertEqual(self.new_credentials.pass_key, "0000")

    def test_save_credentials(self):
        '''
        test_save_credentials test case to test if the credentials 
        object is saved into the credentials list
        '''
        self.new_credentials.save_credentials()  # saving the new credentials
        self.assertEqual(len(Credentials.credentials_list), 1)

    def test_save_multiple_credentials(self):
        '''
        test-save_multiple_user to check if we can save multiple 
        user objects to our user_list
        '''
        self.new_credentials.save_credentials()
        test_credentials = Credentials("fb", "Ventura", "0000")  #new User
        test_credentials.save_credentials()
        self.assertEqual(len(Credentials.credentials_list), 2)

    def test_delete_credentials(self):
        '''
        test_delete_credentials to test if we can remove a credentials from our credentials list
        '''

        self.new_credentials.save_credentials()
        test_credentials = Credentials("fb", "Ventura",
                                       "0000")  #new credentials
        test_credentials.save_credentials

        self.new_credentials.delete_credentials(
        )  # Deleting a credentials object
        self.assertEqual(len(Credentials.credentials_list), 0)

    def test_find_credentials_by_user_id(self):
        '''
        test to check if we can find a credentials by phone user_id and display information
        '''

        self.new_credentials.save_credentials()
        test_credentials = Credentials("fb", "Ventura",
                                       "0000")  #new credentials
        test_credentials.save_credentials()

        found_credentials = Credentials.find_by_user_id("Ventura")
        self.assertEqual(found_credentials.user_id, test_credentials.user_id)

    def test_credentials_exists(self):
        '''
        test to check if we can return a Boolean  if we cannot find the credentials.
        '''

        self.new_credentials.save_credentials()
        test_credentials = Credentials("fb", "Ventura",
                                       "0000")  # new credentials
        test_credentials.save_credentials()

        credentials_exists = Credentials.credentials_exist("Ventura")

        self.assertTrue(credentials_exists)

    def test_display_all_credentials(self):
        '''
        method that returns a list of all credentials saved
        '''

        self.assertEqual(Credentials.display_credentials(),
                         Credentials.credentials_list)

    def test_copy_pass_key(self):
        '''
        Test to confirm that we are copying the pass_key address from a found credentials
        '''

        self.new_credentials.save_credentials()
        Credentials.copy_pass_key("Ventura")

        self.assertEqual(self.new_credentials.pass_key, pyperclip.paste())
class TestCredentials(unittest.TestCase):
    '''

                Test class that defines test case for Credentials class behaviour 

                '''
    def test_user_login(self):
        '''
                        Function to test whether the login in function login_user works as expected
                        '''
        self.new_user = User("Alex", "mwaura", "12345")
        self.new_user.save_user()
        user_login = User("test", "user", "1122")
        user_login.save_user()

        for user in User.users_list:
            if user.first_name == user_login.first_name and user.password == user_login.password:
                current_user = user.first_name
                return current_user

    def setUp(self):
        self.new_credential = Credentials("instagram", "Alex", "mwaura",
                                          "*****@*****.**", "12345")

    def tearDown(self):

        Credentials.credentials_lists = []

    def test_init(self):

        self.assertEqual(self.new_credential.a_account, "instagram")
        self.assertEqual(self.new_credential.f_name, "Alex")
        self.assertEqual(self.new_credential.l_name, "mwaura")
        self.assertEqual(self.new_credential.e_email, "*****@*****.**")
        self.assertEqual(self.new_credential.p_password, "12345")

    def save_credentials(self):

        self.new_credential.save_credentials()
        self.assertEqual(len(Credentials.credentials_lists), 1)

    def test_save_multiple_credentials(self):
        self.new_credential.save_credentials()
        test_credentials = Credentials("account", "test", "user", "test@user",
                                       "12345")
        test_credentials.save_credentials()
        self.assertEqual(len(Credentials.credentials_lists), 2)

    def test_display_credentials(self):
        self.assertEqual(Credentials.display_credentials(),
                         Credentials.credentials_lists)

    def test_find_by_account_name(self):
        '''
                                Test to check if the find_by_account_name method returns the correct credential

                                '''

        self.new_credential.save_credentials()
        account = Credentials("insta", "test", "user", "test@user", "12345")
        account.save_credentials()
        credential_exists = Credentials.find_by_account_name("insta")
        self.assertEqual(credential_exists, account)

    def test_copy_credentials(self):
        '''
                                Test to confirm that we are copying the email address from a found credential
                                '''

        self.new_credential.save_credentials()
        Credentials.copy_credentials("instagram")

        self.assertEqual(self.new_credential.a_account, pyperclip.paste())

    def test_delete_credentials(self):
        '''
                                test_delete_credentials to test if we can delete credentials from our credential list
                                '''

        self.new_credential.save_credentials()
        test_credentials = Credentials("account", "test", "user", "test@user",
                                       "12345")
        test_credentials.save_credentials()

        self.new_credential.delete_credentials()
        self.assertEqual(len(Credentials.credentials_lists), 1)