예제 #1
0
 def test_searchByUser_wrong_column(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'wrong column', '34')
     self.assertIsNotNone(conn)
     self.assertEqual(len(result_1), 0)
     self.assertEqual(len(result_2), 0)
     conn.close()
예제 #2
0
 def test_searchByUser_role(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'role', 'admin')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '1')
     self.assertEqual(result_1[0]['name'], 'Francisca Rasmussen')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     conn.close()
예제 #3
0
 def test_searchByUser_suspended(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'suspended', False)
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '2')
     self.assertEqual(result_1[0]['name'], 'Cross Barlow')
     self.assertEqual(result_1[0]['organization_name'], 'Qualitern')
     conn.close()
예제 #4
0
 def test_searchByUser_email(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'email', '*****@*****.**')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '2')
     self.assertEqual(result_1[0]['name'], 'Cross Barlow')
     self.assertEqual(result_1[0]['organization_name'], 'Qualitern')
     conn.close()
예제 #5
0
 def test_searchByUser_last_login_at(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'last_login_at', '2013-08-04T01:03:27 -10:00')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '1')
     self.assertEqual(result_1[0]['name'], 'Francisca Rasmussen')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     conn.close()
예제 #6
0
 def test_searchByUser_tags(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'tags',
         ["Springville", "Sutton", "Hartsville/Hartley", "Diaperville"])
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '1')
     self.assertEqual(result_1[0]['name'], 'Francisca Rasmussen')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     conn.close()
예제 #7
0
 def test_searchByUser_locale(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'locale', 'en-AU')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '1')
     self.assertEqual(result_1[0]['name'], 'Francisca Rasmussen')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     self.assertEqual(result_1[-1]['_id'], '74')
     self.assertEqual(result_1[-1]['name'], 'Melissa Bishop')
     self.assertEqual(result_1[-1]['organization_name'], 'Isotronic')
     conn.close()
예제 #8
0
 def test_searchByUser_verified(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'verified', True)
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '1')
     self.assertEqual(result_1[0]['name'], 'Francisca Rasmussen')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     self.assertEqual(result_1[-1]['_id'], '75')
     self.assertEqual(result_1[-1]['name'], 'Catalina Simpson')
     self.assertEqual(result_1[-1]['organization_name'], 'Multron')
     conn.close()
예제 #9
0
 def test_searchByUser_active(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(
         conn, 'active', False)
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '3')
     self.assertEqual(result_1[0]['name'], 'Ingrid Wagner')
     self.assertEqual(result_1[0]['organization_name'], 'Xylar')
     self.assertEqual(result_1[-1]['_id'], '75')
     self.assertEqual(result_1[-1]['name'], 'Catalina Simpson')
     self.assertEqual(result_1[-1]['organization_name'], 'Multron')
     conn.close()
예제 #10
0
 def test_searchByUser_user_id(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2 = search_engine.search_by_user(conn, '_id', '75')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '75')
     self.assertEqual(result_1[0]['name'], 'Catalina Simpson')
     self.assertEqual(result_1[0]['organization_id'], '119')
     self.assertEqual(result_1[0]['organization_name'], 'Multron')
     self.assertEqual(tuple(result_2[0])[1], 'A Problem in Switzerland')
     self.assertEqual(
         tuple(result_2[1])[1],
         'A Problem in Svalbard and Jan Mayen Islands')
     conn.close()
def run_application():
    # Messages
    welcome = '\n\nWelcome to Zendesk Search'
    information_text_1 = 'Type "quit" to exit at any time, Press "Enter" to continue\n'
    information_text_2 = '\t\tSelect search options:\n\t\t* Press 1 to search\n\t\t* Press 2 to view a list of ' \
                         'searchable field\n\t\t* Type "quit" to exit\n '
    information_text_3 = '\t\tSelect table:\n\t\t* Select 1 users\n\t\t* Select 2 organizations\n\t\t* Select 3 ' \
                         'tickets\n '

    # Data base initialization
    json_files = ["users.json", "organizations.json", "tickets.json"]
    connection = create_data_base(json_files)

    # Start our application
    print(f'{welcome}')

    command = input(information_text_1)
    # Exit any time
    while not command == 'quit':
        # Client press "Enter"
        if command == '':
            # Exit any time
            while not command == 'quit':
                # Display options
                command = input(information_text_2)
                # Selected Search option
                if command == '1':
                    # Exit any time
                    while not command == 'quit':
                        # Display table options
                        command = input(information_text_3)
                        # Selected users table
                        if command == '1':
                            # Enter search column
                            search_attr = input('Enter search term\n')
                            # Enter search value
                            search_value = input('Enter search value\n')
                            # Searching
                            search_by_user(connection, search_attr,
                                           search_value)
                        # Selected organizations table
                        elif command == '2':
                            # Enter search column
                            search_attr = input('Enter search term\n')
                            # Enter search value
                            search_value = input('Enter search value\n')
                            # Searching
                            search_by_organization(connection, search_attr,
                                                   search_value)
                        # Selected tickets table
                        elif command == '3':
                            # Enter search column
                            search_attr = input('Enter search term\n')
                            # Enter search value
                            search_value = input('Enter search value\n')
                            # Searching
                            search_by_tickets(connection, search_attr,
                                              search_value)
                # Selected Searchable  field list option
                elif command == '2':
                    searchable_fields(connection)
        else:
            command = input(information_text_1)

    # Close connection and free up the memory
    connection.close()

    print('Good Bye')