Example #1
0
 def test_searchBytickets_wrong_column(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'wrong column', '34')
     self.assertIsNotNone(conn)
     self.assertEqual(len(result), 0)
     conn.close()
Example #2
0
 def test_createDataBase_one(self):
     conn = database.create_data_base(["test.json"])
     cursor = conn.execute(
         "SELECT name FROM sqlite_master WHERE type='table';")
     result = cursor.fetchall()[0][0]
     self.assertIsNotNone(conn)
     self.assertEqual(result, 'test')
     conn.close()
Example #3
0
 def test_searchByTickets_assignee_id(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'assignee_id', '24')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     conn.close()
Example #4
0
 def test_searchByTickets_empty_description(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'description')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '4cce7415-ef12-42b6-b7b5-fb00e24f9cc1')
     self.assertEqual(result[0]['user_name'], 'Josefa Mcfadden')
     self.assertEqual(result[0]['organization_name'], 'Xylar')
     conn.close()
Example #5
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()
Example #6
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()
Example #7
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()
Example #8
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()
Example #9
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()
Example #10
0
 def test_searchByTickets_subject(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(
         conn, 'subject', 'A Catastrophe in Micronesia')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '1a227508-9f39-427c-8f57-1b72f3fab87c')
     self.assertEqual(result[0]['subject'], 'A Catastrophe in Micronesia')
     self.assertEqual(result[0]['user_name'], 'Prince Hinton')
     self.assertEqual(result[0]['organization_name'], 'Quilk')
     conn.close()
Example #11
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()
Example #12
0
 def test_searchByOrganization_created_at(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2, result_3 = search_engine.search_by_organization(
         conn, 'created_at', '2016-07-23T09:48:02 -10:00')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '106')
     self.assertEqual(result_1[0]['name'], 'Qualitern')
     self.assertEqual(result_1[0]['external_id'],
                      '2355f080-b37c-44f3-977e-53c341fde146')
     self.assertEqual(result_2[0][1], 'A Nuisance in Greece')
     self.assertEqual(result_3[0][1], 'Cross Barlow')
     conn.close()
Example #13
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()
Example #14
0
 def test_searchByOrganization_tags(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2, result_3 = search_engine.search_by_organization(
         conn, 'tags', ["Nolan", "Rivas", "Morse", "Conway"])
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '106')
     self.assertEqual(result_1[0]['name'], 'Qualitern')
     self.assertEqual(result_1[0]['external_id'],
                      '2355f080-b37c-44f3-977e-53c341fde146')
     self.assertEqual(result_2[0][1], 'A Nuisance in Greece')
     self.assertEqual(result_3[0][1], 'Cross Barlow')
     conn.close()
Example #15
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()
Example #16
0
 def test_searchByTickets_tags(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'tags', [
         "Ohio", "Pennsylvania", "American Samoa",
         "Northern Mariana Islands"
     ])
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     conn.close()
Example #17
0
 def test_searchByOrganization_url(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2, result_3 = search_engine.search_by_organization(
         conn, 'url', 'http://initech.zendesk.com/api/v2'
         '/organizations/106.json')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '106')
     self.assertEqual(result_1[0]['name'], 'Qualitern')
     self.assertEqual(result_1[0]['external_id'],
                      '2355f080-b37c-44f3-977e-53c341fde146')
     self.assertEqual(result_2[0][1], 'A Nuisance in Greece')
     self.assertEqual(result_3[0][1], 'Cross Barlow')
     conn.close()
Example #18
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()
Example #19
0
 def test_searchByTickets_via(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'via', 'web')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     self.assertEqual(result[-1]['_id'],
                      '59d803f6-a9cd-448c-a6bd-91ce9f044305')
     self.assertEqual(result[-1]['user_name'], 'Key Mendez')
     self.assertEqual(result[-1]['organization_name'], 'Comtext')
     conn.close()
Example #20
0
 def test_searchByTickets_has_incidents(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'has_incidents', False)
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     self.assertEqual(result[-1]['_id'],
                      '50f3fdbd-f8a6-481d-9bf7-572972856628')
     self.assertEqual(result[-1]['user_name'], 'Geneva Poole')
     self.assertEqual(result[-1]['organization_name'], 'Strezzö')
     conn.close()
Example #21
0
 def test_searchByTickets_priority(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(conn, 'priority', 'high')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     self.assertEqual(result[-1]['_id'],
                      '50dfc8bc-31de-411e-92bf-a6d6b9dfa490')
     self.assertEqual(result[-1]['user_name'], 'Charlene Coleman')
     self.assertEqual(result[-1]['organization_name'], 'Plasmos')
     conn.close()
Example #22
0
 def test_searchByTickets_description(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result = search_engine.search_by_tickets(
         conn, 'description',
         'Nostrud ad sit velit cupidatat laboris ipsum nisi amet laboris ex '
         'exercitation amet et proident. Ipsum fugiat aute dolore tempor '
         'nostrud velit ipsum.')
     self.assertIsNotNone(conn)
     self.assertEqual(result[0]['_id'],
                      '436bf9b0-1147-4c0a-8439-6f79833bff5b')
     self.assertEqual(result[0]['user_name'], 'Elma Castro')
     self.assertEqual(result[0]['organization_name'], 'Zentry')
     conn.close()
Example #23
0
 def test_searchByOrganization_details(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2, result_3 = search_engine.search_by_organization(
         conn, 'details', 'Artisân')
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '106')
     self.assertEqual(result_1[0]['name'], 'Qualitern')
     self.assertEqual(result_1[0]['external_id'],
                      '2355f080-b37c-44f3-977e-53c341fde146')
     self.assertEqual(result_1[-1]['_id'], '114')
     self.assertEqual(result_1[-1]['name'], 'Isotronic')
     self.assertEqual(result_1[-1]['external_id'],
                      '49c97d6a-f1ec-422e-aabe-8a429e81e656')
     conn.close()
Example #24
0
 def test_searchByOrganization_shared_tickets(self):
     conn = database.create_data_base(
         ["users.json", "organizations.json", "tickets.json"])
     result_1, result_2, result_3 = search_engine.search_by_organization(
         conn, 'shared_tickets', False)
     self.assertIsNotNone(conn)
     self.assertEqual(result_1[0]['_id'], '101')
     self.assertEqual(result_1[0]['name'], 'Enthaze')
     self.assertEqual(result_1[0]['external_id'],
                      '9270ed79-35eb-4a38-a46f-35725197ea8d')
     self.assertEqual(result_1[-1]['_id'], '125')
     self.assertEqual(result_1[-1]['name'], 'Strezzö')
     self.assertEqual(result_1[-1]['external_id'],
                      '42a1a845-70cf-40ed-a762-acb27fd606cc')
     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')