コード例 #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()
コード例 #2
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()
コード例 #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()
コード例 #4
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()
コード例 #5
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()
コード例 #6
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()
コード例 #7
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()
コード例 #8
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()
コード例 #9
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()
コード例 #10
0
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')