Skip to content

Commit 99c6bf2

Browse files
authored
Merge pull request #10 from btoron/move-resources
Add tests for move_activity
2 parents 5916655 + 9acccf2 commit 99c6bf2

4 files changed

Lines changed: 108 additions & 22 deletions

File tree

ofsc/ofsc_proxy.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,20 @@ def update_activity (self, activity_id, data, response_type=TEXT_RESPONSE):
5656
else:
5757
return response.text
5858

59+
# 202107 Added ssearch
60+
def search_activities (self, params, response_type=TEXT_RESPONSE):
61+
url = urljoin(self.baseUrl, "/rest/ofscCore/v1/activities/custom-actions/search")
62+
response = requests.get(url, headers=self.headers, params = params)
63+
#print (response.status_code)
64+
if response_type==FULL_RESPONSE:
65+
return response
66+
elif response_type==JSON_RESPONSE:
67+
return response.json()
68+
else:
69+
return response.text
70+
5971
def move_activity (self, activity_id, data, response_type=TEXT_RESPONSE):
60-
url = urljoin(self.baseUrl, "/rest/ofscCore/v1/activities/{}/custom-actions/move".format(activity_id))
72+
url = urljoin(self.baseUrl, f"/rest/ofscCore/v1/activities/{activity_id}/custom-actions/move")
6173
response = requests.post(url, headers=self.headers, data=data)
6274
#print (response.status_code)
6375
if response_type==FULL_RESPONSE:

ofsc/tests/OFSC_activities_test.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
import unittest
2+
3+
4+
import sys, os
5+
sys.path.append(os.path.abspath('.'))
6+
from ofsc import OFSC, FULL_RESPONSE
7+
import logging
8+
import json
9+
import argparse
10+
11+
12+
import pprint
13+
14+
15+
class ofscActivitiesTest(unittest.TestCase):
16+
17+
def setUp(self):
18+
self.logger = logging.getLogger()
19+
self.pp = pprint.PrettyPrinter(indent=4)
20+
self.logger.setLevel(logging.DEBUG)
21+
#todo add credentials to test run
22+
logging.warning("Here {}".format(os.environ.get('OFSC_CLIENT_ID')))
23+
self.instance = OFSC(clientID=os.environ.get('OFSC_CLIENT_ID'), secret=os.environ.get('OFSC_CLIENT_SECRET'), companyName=os.environ.get('OFSC_COMPANY'))
24+
self.date = os.environ.get('OFSC_TEST_DATE')
25+
26+
# Test A.01 Get Activity Info (activity exists)
27+
def test_A01_get_activity(self):
28+
self.logger.info("...101: Get Activity Info (activity does exist)")
29+
raw_response = self.instance.get_activity(3951935)
30+
response = json.loads(raw_response)
31+
self.logger.debug(response)
32+
self.assertEqual(response['customerNumber'],'019895700')
33+
34+
# Test A.02 Get Activity Info (activity does not exist)
35+
def test_A02_get_activity(self):
36+
instance = self.instance
37+
logger = self.logger
38+
logger.info("...102: Get Activity Info (activity does not exist)")
39+
raw_response = instance.get_activity(99999)
40+
response = json.loads(raw_response)
41+
42+
logger.debug(response)
43+
self.assertEqual(response['status'],'404')
44+
45+
# Test A.03 Search Activities (activity exists)
46+
def test_A03_search_activities(self):
47+
instance = self.instance
48+
logger = self.logger
49+
logger.info("...103: Search Activities (activity exists)")
50+
params = {
51+
"searchInField" : "customerNumber",
52+
"searchForValue": '019895700',
53+
"dateFrom": "2021-01-01",
54+
"dateTo" : "2099-01-01"
55+
}
56+
response = instance.search_activities(params, response_type=FULL_RESPONSE)
57+
logger.debug(response.json())
58+
self.assertEqual(response.status_code,200)
59+
self.assertEqual(response.json()["totalResults"],8)
60+
61+
# Test A.04 Move activity (between buckets, no error)
62+
def test_A04_move_activity_between_buckets_no_error(self):
63+
instance = self.instance
64+
logger = self.logger
65+
66+
# Do a get resource to verify that the activity is in the right place
67+
response = instance.get_activity(4224010, response_type=FULL_RESPONSE)
68+
logger.debug(response.json())
69+
self.assertEqual(response.status_code,200)
70+
original_resource = response.json()["resourceId"]
71+
72+
logger.info("...104: Move activity (activity exists)")
73+
data = {
74+
"setResource" : {
75+
"resourceId": "FLUSA"
76+
}
77+
}
78+
response = instance.move_activity(4224010, json.dumps(data), response_type=FULL_RESPONSE)
79+
self.assertEqual(response.status_code,204)
80+
81+
# Do a get resource to verify that the activity is in the right place
82+
response = instance.get_activity(4224010, response_type=FULL_RESPONSE)
83+
logger.debug(response.json())
84+
self.assertEqual(response.status_code,200)
85+
self.assertEqual(response.json()["resourceId"],"FLUSA")
86+
87+
# Return it to the previous place
88+
data["setResource"]["resourceId"] = original_resource
89+
response = instance.move_activity(4224010, json.dumps(data), response_type=FULL_RESPONSE)
90+
self.assertEqual(response.status_code,204)
91+
92+
if __name__ == '__main__':
93+
unittest.main()

ofsc/tests/OFSC_test.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,6 @@ def setUp(self):
2323
self.instance = OFSC(clientID=os.environ.get('OFSC_CLIENT_ID'), secret=os.environ.get('OFSC_CLIENT_SECRET'), companyName=os.environ.get('OFSC_COMPANY'))
2424
self.date = os.environ.get('OFSC_TEST_DATE')
2525

26-
# Test 1.01 Get Activity Info (activity exists)
27-
def test_get_activity_101(self):
28-
self.logger.info("...101: Get Activity Info (activity does exist)")
29-
raw_response = self.instance.get_activity(3951935)
30-
response = json.loads(raw_response)
31-
self.logger.debug(response)
32-
self.assertEqual(response['customerNumber'],'019895700')
33-
34-
# Test 1.02 Get Activity Info (activity does not exist)
35-
def test_get_activity_102(self):
36-
instance = self.instance
37-
logger = self.logger
38-
logger.info("...102: Get Activity Info (activity does not exist)")
39-
raw_response = instance.get_activity(99999)
40-
response = json.loads(raw_response)
41-
42-
logger.debug(response)
43-
self.assertEqual(response['status'],'404')
44-
4526
# Test 2.01 Create subsciption (simple)
4627
def test_001_create_subscription(self):
4728
instance = self.instance

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
setup(
33
name = 'ofsc',
44
packages = ['ofsc'],
5-
version = 'v1.12',
5+
version = 'v1.13',
66
license='MIT', # Chose a license from here: https://help.github.com/articles/licensing-a-repository
77
description = 'Python Wrapper for Oracle Field Service API',
88
author = 'Borja Toron',
99
author_email = 'borja.toron@gmail.com',
1010
url = 'https://github.com/btoron/pyOFSC',
11-
download_url = 'https://github.com/btoron/pyOFSC/archive/v1.12.tar.gz',
11+
download_url = 'https://github.com/btoron/pyOFSC/archive/v1.13.tar.gz',
1212
keywords = ['OFSC', 'Python', 'ORACLE FIELD SERVICE CLOUD', 'OFS', 'ORACLE FIELD SERVICE'], # Keywords that define your package best
1313
install_requires=[
1414
'requests',

0 commit comments

Comments
 (0)