oaa-runner 0.1.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. oaa_runner-0.1.26/MANIFEST.in +6 -0
  2. oaa_runner-0.1.26/PKG-INFO +40 -0
  3. oaa_runner-0.1.26/data/sample_field_mapping.csv +73 -0
  4. oaa_runner-0.1.26/oaa/__init__.py +2 -0
  5. oaa_runner-0.1.26/oaa/app_runners/custom_app.py +659 -0
  6. oaa_runner-0.1.26/oaa/app_runners/hris_single_source.py +330 -0
  7. oaa_runner-0.1.26/oaa/app_runners/idp_runner.py +105 -0
  8. oaa_runner-0.1.26/oaa/app_runners/runner_base.py +583 -0
  9. oaa_runner-0.1.26/oaa/hooks/decorators.py +468 -0
  10. oaa_runner-0.1.26/oaa/hooks/mock_responses.py +101 -0
  11. oaa_runner-0.1.26/oaa/hooks/preflight_checks.py +63 -0
  12. oaa_runner-0.1.26/oaa/models.py +237 -0
  13. oaa_runner-0.1.26/oaa/modules/base_url_session.py +18 -0
  14. oaa_runner-0.1.26/oaa/modules/cli_to_csv.py +23 -0
  15. oaa_runner-0.1.26/oaa/modules/csv_connector.py +15 -0
  16. oaa_runner-0.1.26/oaa/modules/oauth_creds.py +111 -0
  17. oaa_runner-0.1.26/oaa/modules/params_or_env.py +19 -0
  18. oaa_runner-0.1.26/oaa/modules/pg_logging_cursor.py +10 -0
  19. oaa_runner-0.1.26/oaa/modules/source_connector.py +14 -0
  20. oaa_runner-0.1.26/oaa/oaa_utils.py +551 -0
  21. oaa_runner-0.1.26/oaa/run.py +72 -0
  22. oaa_runner-0.1.26/oaa/settings.py +175 -0
  23. oaa_runner-0.1.26/oaa/settings_config.py +797 -0
  24. oaa_runner-0.1.26/oaa/settings_utils.py +122 -0
  25. oaa_runner-0.1.26/oaa/source/cli.py +39 -0
  26. oaa_runner-0.1.26/oaa/templates/.just_name.yaml.swp +0 -0
  27. oaa_runner-0.1.26/oaa/templates/README.md +1 -0
  28. oaa_runner-0.1.26/oaa/templates/just_name.yaml +1 -0
  29. oaa_runner-0.1.26/oaa/templates/modules/appname.py +132 -0
  30. oaa_runner-0.1.26/oaa/templates/modules/appname_hooks.py +0 -0
  31. oaa_runner-0.1.26/oaa/templates/modules/appname_mocks.py +0 -0
  32. oaa_runner-0.1.26/oaa/templates/requirements.txt +1 -0
  33. oaa_runner-0.1.26/oaa/templates/sample.env +4 -0
  34. oaa_runner-0.1.26/oaa/templates/sample_config.yaml +27 -0
  35. oaa_runner-0.1.26/oaa/tree_builder.py +94 -0
  36. oaa_runner-0.1.26/oaa/utils.py +583 -0
  37. oaa_runner-0.1.26/oaa_runner.egg-info/PKG-INFO +40 -0
  38. oaa_runner-0.1.26/oaa_runner.egg-info/SOURCES.txt +92 -0
  39. oaa_runner-0.1.26/oaa_runner.egg-info/dependency_links.txt +1 -0
  40. oaa_runner-0.1.26/oaa_runner.egg-info/entry_points.txt +2 -0
  41. oaa_runner-0.1.26/oaa_runner.egg-info/not-zip-safe +1 -0
  42. oaa_runner-0.1.26/oaa_runner.egg-info/requires.txt +33 -0
  43. oaa_runner-0.1.26/oaa_runner.egg-info/top_level.txt +8 -0
  44. oaa_runner-0.1.26/pyproject.toml +35 -0
  45. oaa_runner-0.1.26/requirements/requirements-dev.txt +9 -0
  46. oaa_runner-0.1.26/requirements/requirements-docs.txt +3 -0
  47. oaa_runner-0.1.26/requirements/requirements-mysql.txt +0 -0
  48. oaa_runner-0.1.26/requirements/requirements-oracle.txt +1 -0
  49. oaa_runner-0.1.26/requirements/requirements-postgres.txt +1 -0
  50. oaa_runner-0.1.26/requirements/requirements-sqlserver.txt +1 -0
  51. oaa_runner-0.1.26/requirements/requirements.txt +11 -0
  52. oaa_runner-0.1.26/setup.cfg +4 -0
  53. oaa_runner-0.1.26/setup.py +42 -0
  54. oaa_runner-0.1.26/tests/conftest.py +11 -0
  55. oaa_runner-0.1.26/tests/connector/modules/app.py +15 -0
  56. oaa_runner-0.1.26/tests/connector/requirements.txt +2 -0
  57. oaa_runner-0.1.26/tests/modules/api_fetch.py +24 -0
  58. oaa_runner-0.1.26/tests/modules/application_mfa_type_fields.py +52 -0
  59. oaa_runner-0.1.26/tests/modules/fabric_odbc.py +64 -0
  60. oaa_runner-0.1.26/tests/modules/group_assignments.py +11 -0
  61. oaa_runner-0.1.26/tests/modules/lcm_test.py +12 -0
  62. oaa_runner-0.1.26/tests/modules/myhooks.py +30 -0
  63. oaa_runner-0.1.26/tests/modules/resource_creation.py +51 -0
  64. oaa_runner-0.1.26/tests/modules/role_assignments.py +16 -0
  65. oaa_runner-0.1.26/tests/modules/roles_to_user.py +18 -0
  66. oaa_runner-0.1.26/tests/modules/sqlplus_fetch.py +220 -0
  67. oaa_runner-0.1.26/tests/modules/veza_api_fetch.py +27 -0
  68. oaa_runner-0.1.26/tests/test_cli_source.py +45 -0
  69. oaa_runner-0.1.26/tests/test_config.py +114 -0
  70. oaa_runner-0.1.26/tests/test_config_v2.py +109 -0
  71. oaa_runner-0.1.26/tests/test_csv_direct_push.py +106 -0
  72. oaa_runner-0.1.26/tests/test_field_mapping.py +74 -0
  73. oaa_runner-0.1.26/tests/test_fields_mapped_after_transform.py +35 -0
  74. oaa_runner-0.1.26/tests/test_hooks.py +34 -0
  75. oaa_runner-0.1.26/tests/test_jinja.py +15 -0
  76. oaa_runner-0.1.26/tests/test_lcm_hooks.py +35 -0
  77. oaa_runner-0.1.26/tests/test_multiple_qvia.py +151 -0
  78. oaa_runner-0.1.26/tests/test_multiple_transforms.py +75 -0
  79. oaa_runner-0.1.26/tests/test_source_api.py +72 -0
  80. oaa_runner-0.1.26/tests/test_source_api_veza.py +50 -0
  81. oaa_runner-0.1.26/tests/test_source_multisource.py +201 -0
  82. oaa_runner-0.1.26/tests/test_source_sqlplus.py +55 -0
  83. oaa_runner-0.1.26/tests/test_understand_pydantic.py +52 -0
  84. oaa_runner-0.1.26/tests/test_utils.py +108 -0
  85. oaa_runner-0.1.26/webapp/app/app.py +48 -0
  86. oaa_runner-0.1.26/webapp/app/custom_scim_obj.py +553 -0
  87. oaa_runner-0.1.26/webapp/app/lcm_base.py +85 -0
  88. oaa_runner-0.1.26/webapp/app/mk_users.py +158 -0
  89. oaa_runner-0.1.26/webapp/app/requirements.txt +8 -0
  90. oaa_runner-0.1.26/webapp/app/scim_base.py +235 -0
  91. oaa_runner-0.1.26/webapp/app/scim_filter_petl.py +344 -0
  92. oaa_runner-0.1.26/webapp/app/tests/test_filter.py +88 -0
  93. oaa_runner-0.1.26/webapp/modules/test_me.py +138 -0
  94. oaa_runner-0.1.26/webapp/requirements.txt +8 -0
@@ -0,0 +1,6 @@
1
+ graft src
2
+ global-include *.py
3
+ global-include requirements*
4
+ include data/*
5
+ include oaa/templates/*
6
+ include src/version
@@ -0,0 +1,40 @@
1
+ Metadata-Version: 2.4
2
+ Name: oaa-runner
3
+ Version: 0.1.26
4
+ Summary: An OAA Local Runner
5
+ Author-email: Kajigga <kajigga@gmail.com>
6
+ Maintainer-email: Kajigga <kajigga@gmail.com>
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, http://github.com/kajigga/oaa_generic
9
+ Project-URL: Repository, http://github.com/kajigga/oaa_generic
10
+ Project-URL: Issues, http://github.com/kajigga/oaa_generic/issues
11
+ Requires-Dist: petl==1.7.17
12
+ Requires-Dist: fire==0.7.1
13
+ Requires-Dist: oaaclient==1.1.15
14
+ Requires-Dist: email_validator==2.2.0
15
+ Requires-Dist: python-dotenv==1.1.1
16
+ Requires-Dist: pydantic
17
+ Requires-Dist: python-dateutil
18
+ Requires-Dist: pyyaml
19
+ Requires-Dist: anytree
20
+ Requires-Dist: Jinja2
21
+ Provides-Extra: mysql
22
+ Requires-Dist: pymysql; extra == "mysql"
23
+ Provides-Extra: postgres
24
+ Requires-Dist: psycopg2-binary; extra == "postgres"
25
+ Provides-Extra: pymssql
26
+ Requires-Dist: pymssql; extra == "pymssql"
27
+ Provides-Extra: dev
28
+ Requires-Dist: bpython; extra == "dev"
29
+ Requires-Dist: pylint; extra == "dev"
30
+ Requires-Dist: faker; extra == "dev"
31
+ Requires-Dist: flake8; extra == "dev"
32
+ Requires-Dist: pytest; extra == "dev"
33
+ Requires-Dist: pytest-coverage; extra == "dev"
34
+ Requires-Dist: coverage; extra == "dev"
35
+ Requires-Dist: requests-mock; extra == "dev"
36
+ Requires-Dist: build; extra == "dev"
37
+ Provides-Extra: oracle
38
+ Requires-Dist: oracledb; extra == "oracle"
39
+ Dynamic: provides-extra
40
+ Dynamic: requires-dist
@@ -0,0 +1,73 @@
1
+ include,source_field,description,notes,transform,field_options,old_field_reference,veza_obj,is_custom,destination_field,veza_field_type,ad_field
2
+ Y,EMP_NO,The unique identifier of an employee,,None,,idp_id,Employee,n,employee_number,,employeeID
3
+ Y,,,,pull_from,EMP_NO,,Employee,n,unique_id,,
4
+ Y,EMP_FIRST_NAME,Employee First Name,,None,,First Name,Employee,n,first_name,,givenName
5
+ Y,EMP_MIDDLE_NAME,Employee Middle Name,,None,,Custom > MiddleName,Employee,y,middle_name,String,middleName
6
+ Y,EMP_LAST_NAME,Employee Last Name,,None,,Last Name,Employee,n,last_name,,sn
7
+ Y,,Employee Full Name (first + last),,join_fields,"["" "", [""EMP_FIRST_NAME"", ""EMP_LAST_NAME""]]",,Employee,n,name,,
8
+ Y,EMP_PREFIX_NAME,Employee Prefix Name,,None,,Custom> Prefix,Employee,y,prefix,String,Personal Title
9
+ Y,EMP_SUFFIX_NAME,Employee Suffix Name,,None,,Custom>Suffix,Employee,y,suffix,String,N/A
10
+ Y,EMP_NICK_NAME,Employee Nick Name,,None,,Preferred Name,Employee,n,preferred_name,,TBD
11
+ Y,EMP_TYPE,Identify the Type of the employment as H/S/C/A,should be part of the DB query?,None,"H,S,C,A",Custom > EmpType,Employee,n,employment_type,String,extensionAttribute3?
12
+ Y,EMP_UNIONIZED,Identify Employee relation with Union as Y/N,,validate_boolean,,Custom > Unionized,Employee,y,unionized,Boolean,N/A
13
+ Y,EMP_JOB_TITLE,Employee Job Title,,None,,JobCode,Employee,n,JobCode,,Title
14
+ Y,EMP_ADDRESS1,Home Address of the Employee,combined?,join_fields,"[""\n"", [""EMP_ADDRESS1"", ""EMP_ADDRESS2""]]",home_location,Employee,n,home_location,,N/A
15
+ Y,EMP_ADDRESS2,Home Address of the Employee,combined with address 1?,ignore,,home_location,Employee,y,n/a,,N/A
16
+ Y,EMP_ADDRESS3,Home Address of the Employee,to city? Dave to verify,None,,home_location,Employee,y,city,String,N/A
17
+ Y,EMP_ZIP_CODE,Zip or Postal Code of the Address,,make_number,,ZIP,Employee,n,zip_code,,TBD
18
+ Y,EMP_PHONE,Home Phone Number of the Employee,"remove non-numbers, null -> blank",make_number,,Home Phone,Employee,n,home_phone,,TBD
19
+ Y,EMP_FAX,Home Fax Number of the Employee,,make_number,,Custom > Fax,Employee,y,Fax,NUMBER,TBD
20
+ Y,EMP_COUNTRY_CODE,Identify the Country,,None,,Custom > CountryCode,Employee,y,country_code,String,TBD
21
+ Y,EMP_STATE_CODE,Identify the State / Province,,None,,Custom > StateCode,Employee,y,state_code,String,TBD
22
+ Y,EMP_JOB_CODE,null,,None,,Custom > JobCode2,Employee,y,job_code_cat,String,N/A
23
+ Y,EMP_CAT_CODE,Default Job Category Code,,None,,Custom > JobCode3,Employee,y,job_code_equipment_no,String,N/A
24
+ Y,EMP_EQUIPMENT_NO,null,,None,,Custom > JobCode4,Employee,y,job_code_equipment_category,String,N/A
25
+ Y,EMP_EQUIP_CATEGORY,null,,None,,Custom > EquipCat,Employee,y,equip_cat,String,N/A
26
+ Y,EMP_UNI_CODE,Identify the Union (maybe lookup),,None,,Custom > UnionName,Employee,y,union_name,String,N/A
27
+ Y,EMP_TRD_CODE,Identify the Trade,,None,,Custom > TradeCode,Employee,y,trade_code,String,N/A
28
+ Y,EMP_HIRE_DATE,Hire Date of the employee,"DD/MM/YY 10/06/96",date_convert,,start_date,Employee,n,start_date,,Created?
29
+ Y,EMP_RE_HIRE_DATE,Re Hire Date of the employee,,date_convert,,Custom > ReHireDate,Employee,y,re_hire_date,TIMESTAMP,TBD
30
+ Y,EMP_TERMINATION_DATE,Termination Date of the Employee,,date_convert,,Termination Date,Employee,n,termination_date,,TBD
31
+ Y,EMP_DATE_OF_BIRTH,Date of Birth of the employee,,hash,,Custom > DOB,Employee,y,dob,STRING,N/A
32
+ Y,EMP_LAST_PROM_DATE,Last Promotion Date,,date_convert,,Custom > PromoDate,Employee,y,promo_date,TIMESTAMP,TBD
33
+ Y,EMP_LAST_TRAN_DATE,Last Transfer Date,,date_convert,,Custom > TrnsfDate,Employee,y,trnsf_date,TIMESTAMP,N/A
34
+ Y,EMP_LAST_UPD_DATE,Date and Time stamp of the last update,,date_convert,,Custom > LastUpdateDate,Employee,y,last_update_date,TIMESTAMP,None
35
+ Y,EMP_STATUS,Indicate whether the employee is Active or not,,validate_boolean,,,Employee,n,is_active,,None
36
+ Y,,employment_status,"employment_status (str): String representation of employee status, e.g. ""ACTIVE"", ""TERMINATE"", ""PENDING""",pull_from_lookup,"{""pull_from"": ""EMP_STATUS"",""lookup"": {""true"": ""active"",""false"":""inactive""}}",,Employee,n,employment_status,,
37
+ Y,EMP_PH_ADDRESS1,null (PH=physical address),,None,,Custom > PhAddDate,Employee,y,ph_add_date_a,STRING,N/A
38
+ Y,EMP_PH_ADDRESS2,null (PH=physical address),,None,,Custom > PhAddDate_B,Employee,y,ph_add_date_b,STRING,N/A
39
+ Y,EMP_PH_ADDRESS3,null (PH=physical address),,None,,Custom > PhAddDate_C,Employee,y,ph_add_date_c,STRING,N/A
40
+ Y,APPLICANT_APL_NO,null,,None,,Custom > AppNum,Employee,y,app_num,String,N/A
41
+ Y,EMP_WORK_PHONE,null,,make_number,,Custom > WorkPhone,Employee,y,work_phone,NUMBER,officePhone
42
+ Y,EMP_WORK_FAX,null,,make_number,,Custom > WorkFax,Employee,y,work_fax,NUMBER,TBD
43
+ Y,EMP_CELL_PHONE,null,,make_number,,Cell Phone,Employee,y,cell_phone,NUMBER,mobilePhone
44
+ Y,EMP_PAGER,null,,make_number,,Custom > EmpPager,Employee,y,emp_pager,NUMBER,TBD
45
+ Y,EMP_EMAIL_ADDRESS,null,"null or jedunn email, validate format, log for review",email_convert,,email,Employee,y,email,String,EmailAddress
46
+ Y,EMP_SUB_STATUS,Identify the Status,,None,,Custom > EmpSubStatus,Employee,y,emp_sub_status,STRING,None
47
+ Y,EMP_HARDSHIP_SUSP_FLAG,Identify whether Employee is on on Hardship Suspension,,None,,Custom > EmpHardshipSusp,Employee,y,emp_hardship_susp,String,None
48
+ Y,EMP_ELIGIBILITY_FLAG,Identify Whether Employee is on Hardship Suspension,,None,,Custom > EmpHardshipSusp,Employee,y,emp_hardship_susp,String,None
49
+ Y,EMP_WORK_PROVINCE,null,,None,,Custom > EmpWorkProv,Employee,y,emp_work_prov,String,N/A
50
+ Y,EMP_ADJUSTED_SERVICE_DATE,null,,date_convert,,Custom > AdjServiceDate,Employee,y,adj_service_date,TIMESTAMP,TBD
51
+ Y,EMP_EQUIP_PHS_CODE,Default job phase code for the piece of equipment,,None,,Custom > EqPhsCode,Employee,y,eq_phs_code,String,None
52
+ Y,EMP_CREATE_DATE,null,,date_convert,,Custom > CreateDate,Employee,y,create_date,TIMESTAMP,None
53
+ Y,EMP__IU__CREATE_DATE,null,,date_convert,,Custom > IUCreateDate,Employee,y,iucreate_date,TIMESTAMP,N/A
54
+ Y,EMP__IU__CREATE_USER,null,,None,,Custom > IUCreateUser,Employee,y,iucreate_user,STRING,N/A
55
+ Y,EMP__IU__UPDATE_DATE,null,,date_convert,,Custom > IUUpdateDate,Employee,y,iuupdate_date,TIMESTAMP,N/A
56
+ Y,EMP__IU__UPDATE_USER,null,,None,,Custom > IUUpdateUser,Employee,y,iuupdate_user,TIMESTAMP,N/A
57
+ Y,EMP_REHIRE_ELIGIBLE,null,,None,,Custom > RehireEligible,Employee,y,rehire_eligible,STRING,N/A
58
+ Y,EMP_HEMPL_TYPE,Hourly Employee Type,,None,,Custom > HREmplType,Employee,y,hrempl_type,String,N/A
59
+ Y,EMP_FULL_PART_TIME,"F=Full-time, P=Part-time",,None,,Custom > FPCode,Employee,y,fpcode,String,N/A
60
+ Y,EMP_REPORTS_TO,"Identify The Employee ""Reports To"" (Direct Manager)",,None,,Manager,Employee,n,manager,STRING,TBD
61
+ Y,EMP_ADDRESS_FOREIGN_FLAG,Flag Decides Employee Mailing Address Is Foreign Address Or Not?,,validate_boolean,,Custom > ForeignAddrCheck_mailing,Employee,y,foreign_addr_check_mailing,Boolean,N/A
62
+ Y,EMP_PH_ADDRESS_FOREIGN_FLAG,Flag Decides Employee Physical Address Is Foreign Address Or Not?,,None,,Custom > ForeignAddrCheck_physical,Employee,y,foreign_addr_check_physical,STRING,N/A
63
+ Y,EMP_PH_COUNTRY_CODE,Identify the Physical Address Country,,None,,Custom > PHAddCountry,Employee,y,ph_add_country,STRING,N/A
64
+ Y,EMP_PH_STATE_CODE,Identify the Physical Address State / Province,,None,,Custom > PHState,Employee,y,ph_state,STRING,N/A
65
+ Y,EMP_WORK_CELL_PHONE,Employee Work Cell Phone,,make_number,,Cell Phone,Employee,n,cell_phone,,mobilePhone
66
+ Y,EMP_WORK_EMAIL_ADDRESS,"Employee Work Email Address. How relates to EMP_EMAIL_ADDRESS?",,email_convert,,Custom>work_email_address,Employee,n,email,,EmailAddress
67
+ Y,EMP_UK_STARTER_DECLARATION,"United Kingdom: New starter declaration: A=First Job This Year, B=Only Job, C=Have Another Job",,None,,Custom > UKStartDeclare,Employee,y,ukstart_declare,STRING,None
68
+ Y,EMP_UK_STUDENT_FLAG,United Kingdom: Student flag (Y/N/null),,None,,Custom > UKStudent,Employee,y,ukstudent,STRING,None
69
+ Y,EMP_UK_SECONDED_FLAG,United Kingdom: Seconded employee (Y/N/null),,None,,Custom > UKSecondEmp,Employee,y,uksecond_emp,STRING,None
70
+ Y,EMP_PROBATION_DATE,Employee Probation End Date ,,date_convert,,Custom > EmpProbDate,Employee,y,emp_prob_date,TIMESTAMP,None
71
+ Y,EMP_CONTRACT_TYPE,"Employee Contract type S:Single, M: Married, F:Family",,None,,Custom > EmpContType,Employee,y,emp_cont_type,STRING,None
72
+ N,EMP_UK_PASSPORT_NO,United Kingdom: Passport number,,None,,Custom > UKPassport,Employee,,ukpassport,STRING,None
73
+ N,EMP_SIN_NO,Employee SIN/SSN Number,,None,,Custom > SSN,Employee,,,STRING,N/A
@@ -0,0 +1,2 @@
1
+ '''
2
+ These are some docs. '''