コード例 #1
0
 def test_get_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_db_object')
     o = gr.add_query('name', 'alm_asset')
     o.add_or_condition('name', 'bsm_chart')
     enc_query = gr.get_encoded_query()
     self.assertEquals(enc_query, 'name=alm_asset^ORname=bsm_chart')
コード例 #2
0
 def test_no_result_without_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.add_query('sys_id', 'bunk')
     self.assertFalse(gr.has_next())
     for e in gr:
         assert "Should not have iterated!"
コード例 #3
0
 def test_or_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_db_object')
     o = gr.add_query('name', 'alm_asset')
     o.add_or_condition('name', 'bsm_chart')
     gr.query()
     self.assertEquals(gr.get_row_count(), 2)
コード例 #4
0
 def test_field_contains(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.fields = 'sys_id,name'
     gr.get('6816f79cc0a8016401c5a33be04be441')
     print(gr.serialize())
     self.assertTrue('name' in gr)
     self.assertFalse('whatever' in gr)
コード例 #5
0
 def test_len(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     self.assertEquals(len(gr), 0)
     self.assertEquals(gr.get_row_count(), 0)
     gr.query()
     self.assertGreater(len(gr), 0)
     self.assertGreater(gr.get_row_count(), 0)
コード例 #6
0
 def test_object_setter(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('problem')
     gr.initialize()
     gr.name = 'aaaa'
     self.assertEquals(gr.name, 'aaaa')
     gr.roles = [1, 2, 3]
     self.assertEquals(gr.roles, [1, 2, 3])
コード例 #7
0
    def test_field_bool(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('sys_user')
        gr.fields = 'sys_id,active'
        gr.get('6816f79cc0a8016401c5a33be04be441')

        print(gr.serialize())

        self.assertEquals(gr.active, 'true')
コード例 #8
0
    def test_serialize_all_batch(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('problem')
        gr.batch_size = 3
        gr.limit = 9
        gr.query()

        records = gr.serialize_all()
        self.assertEquals(len(records), 9)
コード例 #9
0
 def test_attrs(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     r = gr.get('6816f79cc0a8016401c5a33be04be441')
     self.assertEquals(r, True)
     self.assertEquals(gr.sys_id, '6816f79cc0a8016401c5a33be04be441')
     self.assertEquals(gr.get_value('sys_id'),
                       '6816f79cc0a8016401c5a33be04be441')
     self.assertEquals(gr.get_display_value('user_password'), '********')
コード例 #10
0
 def test_len(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr_first = client.GlideRecord('sys_user')
     gr_first.fields = 'sys_id'
     gr_first.query()
     gr = client.GlideRecord('sys_user')
     gr.add_null_query('name')
     gr.query()
     self.assertNotEquals(len(gr), len(gr_first))
コード例 #11
0
 def test_serialize_noncurrent(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('problem')
     gr.fields = 'sys_id,short_description,state'
     gr.limit = 4
     gr.query()
     self.assertIsNone(gr.serialize())
     gr.next()
     self.assertIsNotNone(gr.serialize())
コード例 #12
0
 def test_field_set_init(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.initialize()
     name = 'System Administrator'
     gr.name = name
     self.assertEquals(gr.name, name)
     gr.set_value('name', 'Test')
     self.assertEquals(gr.name, 'Test')
     self.assertEquals(gr.get_value('name'), 'Test')
コード例 #13
0
 def test_attrs_changes(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     r = gr.get('6816f79cc0a8016401c5a33be04be441')
     self.assertEquals(r, True)
     self.assertIsNotNone(gr.get_element('sys_id'))
     self.assertIsNone(gr.get_element('asdf'))
     self.assertEquals(gr.get_element('sys_id').changes(), False)
     gr.sys_id = '1234'
     self.assertEquals(gr.get_element('sys_id').changes(), True)
コード例 #14
0
 def test_serialize(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('some_table')
     gr.initialize()
     gr.strfield = 'my string'
     gr.set_display_value('strfield', 'my string display value')
     gr.intfield = 5
     data = gr.serialize()
     self.assertIsNotNone(data)
     self.assertEquals(data, {'intfield': 5, 'strfield': 'my string'})
コード例 #15
0
    def test_batch_multi_uneven(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('problem')
        gr.fields = 'sys_id'
        gr.batch_size = 3
        gr.limit = 7
        gr.query()

        res = [r.sys_id for r in gr]
        self.assertEquals(len(res), 7)
コード例 #16
0
 def test_object_secondary_field(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.limit = 1
     gr.query()
     self.assertTrue(gr.next())
     gr.boom = 'aaaa'
     self.assertEquals(gr.boom, 'aaaa')
     gr.bye = [1, 2, 3]
     self.assertEquals(gr.bye, [1, 2, 3])
コード例 #17
0
 def test_next(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.add_active_query()
     gr.limit = 2
     gr.query()
     #print(gr.serialize_all())
     self.assertTrue(gr.next())
     self.assertTrue(gr.has_next())
     self.assertTrue(gr.next())
     self.assertFalse(gr.has_next())
コード例 #18
0
 def test_link_list(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.add_active_query()
     gr.add_query("name", "CONTAINS", "a")
     link = gr.get_link_list()
     print(link)
     self.assertTrue(
         link.endswith(
             'sys_user_list.do?sysparm_query=active%3Dtrue%5EnameCONTAINSa')
     )
コード例 #19
0
 def test_join_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     join_query = gr.add_join_query('sys_user_group',
                                    join_table_field='manager')
     join_query.add_query('active', 'true')
     self.assertEquals(
         gr.get_encoded_query(),
         'JOINsys_user.sys_id=sys_user_group.manager!active=true')
     gr.query()
     self.assertGreater(gr.get_row_count(), 2)
コード例 #20
0
 def test_field_getter_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     self.assertEquals(gr.fields, None)
     gr.limit = 1
     gr.query()
     self.assertIsNotNone(gr.fields)
     self.assertGreater(len(gr.fields), 10)
     gr.next()
     print(gr.fields)
     self.assertGreater(len(gr.fields), 10)
コード例 #21
0
 def test_attrs_changes(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.initialize()
     self.assertTrue(gr.is_new_record())
     self.assertIsNone(gr.get_element('sys_id'))
     gr.sys_id = 'zzzz'
     # i am not considering a state of nothing to something a change, merely the start of existence
     self.assertEquals(gr.get_element('sys_id').changes(), False)
     gr.sys_id = '1234'
     self.assertEquals(gr.get_element('sys_id').changes(), True)
コード例 #22
0
    def test_field_limit(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('sys_user')
        gr.fields = 'sys_id,name'
        r = gr.get('6816f79cc0a8016401c5a33be04be441')

        print(gr.serialize())
        self.assertEquals(r, True)
        sobj = gr.serialize()
        self.assertTrue('sys_id' in sobj)
        self.assertFalse('sys_created_on' in sobj)
コード例 #23
0
 def test_fields(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.fields = ['sys_id']
     gr.limit = 4
     gr.query()
     count = 0
     while gr.next():
         count = count + 1
         assert len(gr._current().keys()) == 1
     self.assertEquals(count, 4)
コード例 #24
0
ファイル: test_snc_auth.py プロジェクト: sudharsanansr/PySNC
 def test_basic_fail(self):
     client = ServiceNowClient(self.c.server, ('admin', 'this is not a real password'))
     try:
         gr = client.GlideRecord('sys_user')
         gr.get('does not matter')
         assert 'Exception should have been thrown'
     except exceptions.AuthenticationException as e:
         self.assertTrue('User Not Authenticated' in str(e))
         self.assertTrue('Required to provide Auth information' in str(e))
     except Exception:
         assert 'Should have got an Auth exception'
コード例 #25
0
 def test_batching(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('syslog')
     gr.fields = ['sys_id'
                  ]  # not testing this, but just limit response size
     gr.query()
     gr.limit = 1100
     count = 0
     while gr.next():
         self.assertFalse(gr.is_new_record())
         count = count + 1
     self.assertGreater(count, 600)
コード例 #26
0
 def _getOrCreateEmptyTestRecord(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('problem')
     gr.add_query('short_description', 'Unit Test - Attachments - Empty')
     gr.query()
     if gr.next():
         return gr
     gr.initialize()
     gr.short_description = "Unit Test - Attachments - Empty"
     gr.description = "Second Field"
     gr.insert()
     return gr
コード例 #27
0
    def test_field_limit_query(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('sys_user')
        gr.limit = 1
        gr.fields = 'sys_id,name'
        gr.query()
        gr.next()

        print(gr.serialize())
        sobj = gr.serialize()
        self.assertTrue('sys_id' in sobj)
        self.assertFalse('sys_created_on' in sobj)
コード例 #28
0
    def test_field_access(self):
        client = ServiceNowClient(self.c.server, self.c.credentials)
        gr = client.GlideRecord('sys_user')
        gr.fields = 'sys_id,name'
        gr.get('6816f79cc0a8016401c5a33be04be441')

        print(gr.serialize())

        name = 'System Administrator'
        self.assertEquals(gr.name, name)
        self.assertEquals(gr.get_value('name'), name)
        self.assertEquals(gr.get_display_value('name'), name)
コード例 #29
0
 def test_link_query(self):
     client = ServiceNowClient(self.c.server, self.c.credentials)
     gr = client.GlideRecord('sys_user')
     gr.limit = 5
     gr.query()
     link = gr.get_link(no_stack=True)
     print(link)
     self.assertTrue(link.endswith('sys_user.do?sys_id=null'))
     self.assertTrue(gr.next())
     link = gr.get_link(no_stack=True)
     print(link)
     self.assertFalse(link.endswith('sys_user.do?sys_id=null'))
コード例 #30
0
 def test_proxy(self):
     proxy = 'http://localhost:4444'
     obj = {
         'http': 'http://localhost:4444',
         'https': 'http://localhost:4444'
     }
     client = ServiceNowClient(self.c.server,
                               self.c.credentials,
                               proxy=proxy)
     self.assertEquals(client.session.proxies, obj)
     client = ServiceNowClient(self.c.server, self.c.credentials, proxy=obj)
     self.assertEquals(client.session.proxies, obj)