embulk-input-marketo 0.5.7.alpha.6 → 0.6.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/build.gradle +6 -6
  3. data/src/main/java/org/embulk/input/marketo/MarketoService.java +1 -1
  4. data/src/main/java/org/embulk/input/marketo/MarketoServiceImpl.java +4 -5
  5. data/src/main/java/org/embulk/input/marketo/MarketoUtils.java +45 -14
  6. data/src/main/java/org/embulk/input/marketo/delegate/ActivityBulkExtractInputPlugin.java +12 -11
  7. data/src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java +4 -23
  8. data/src/main/java/org/embulk/input/marketo/delegate/LeadBulkExtractInputPlugin.java +18 -11
  9. data/src/main/java/org/embulk/input/marketo/delegate/LeadWithListInputPlugin.java +3 -18
  10. data/src/main/java/org/embulk/input/marketo/delegate/LeadWithProgramInputPlugin.java +5 -20
  11. data/src/main/java/org/embulk/input/marketo/delegate/MarketoBaseBulkExtractInputPlugin.java +213 -87
  12. data/src/main/java/org/embulk/input/marketo/delegate/MarketoBaseInputPluginDelegate.java +22 -0
  13. data/src/main/java/org/embulk/input/marketo/model/MarketoBulkExtractRequest.java +12 -1
  14. data/src/main/java/org/embulk/input/marketo/model/MarketoField.java +28 -2
  15. data/src/main/java/org/embulk/input/marketo/model/MarketoResponse.java +2 -1
  16. data/src/main/java/org/embulk/input/marketo/model/filter/DateRangeFilter.java +9 -0
  17. data/src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java +4 -0
  18. data/src/main/java/org/embulk/input/marketo/rest/{MarketoFileResponseEntityReader.java → MarketoInputStreamResponseEntityReader.java} +2 -2
  19. data/src/main/java/org/embulk/input/marketo/rest/MarketoResponseJetty92EntityReader.java +4 -1
  20. data/src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java +76 -42
  21. data/src/main/java/org/embulk/input/marketo/rest/RecordPagingIterable.java +35 -11
  22. data/src/test/java/org/embulk/input/marketo/MarketoServiceImplTest.java +159 -0
  23. data/src/test/java/org/embulk/input/marketo/MarketoUtilsTest.java +87 -0
  24. data/src/test/java/org/embulk/input/marketo/delegate/ActivityBulkExtractInputPluginTest.java +84 -0
  25. data/src/test/java/org/embulk/input/marketo/delegate/CampaignInputPluginTest.java +73 -0
  26. data/src/test/java/org/embulk/input/marketo/delegate/LeadBulkExtractInputPluginTest.java +94 -0
  27. data/src/test/java/org/embulk/input/marketo/delegate/LeadWithListInputPluginTest.java +99 -0
  28. data/src/test/java/org/embulk/input/marketo/delegate/LeadWithProgramInputPluginTest.java +101 -0
  29. data/src/test/java/org/embulk/input/marketo/delegate/MarketoBaseBulkExtractInputPluginTest.java +114 -0
  30. data/src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java +3 -15
  31. data/src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java +450 -0
  32. data/src/test/resources/config/activity_bulk_extract_config.yaml +7 -0
  33. data/src/test/resources/config/lead_bulk_extract_config.yaml +8 -0
  34. data/src/test/resources/config/rest_config.yaml +3 -0
  35. data/src/test/resources/fixtures/activity_extract1.csv +35 -0
  36. data/src/test/resources/fixtures/activity_extract2.csv +22 -0
  37. data/src/test/resources/fixtures/all_program_full.json +53 -0
  38. data/src/test/resources/fixtures/campaign_response.json +38 -0
  39. data/src/test/resources/fixtures/campaign_response_full.json +102 -0
  40. data/src/test/resources/fixtures/lead_by_list.json +33 -0
  41. data/src/test/resources/fixtures/lead_by_program_response.json +47 -0
  42. data/src/test/resources/fixtures/lead_describe.json +221 -0
  43. data/src/test/resources/fixtures/lead_describe_expected.json +66 -0
  44. data/src/test/resources/fixtures/lead_describe_marketo_fields_full.json +518 -0
  45. data/src/test/resources/fixtures/lead_extract1.csv +11 -0
  46. data/src/test/resources/fixtures/lead_response_full.json +2402 -0
  47. data/src/test/resources/fixtures/lead_with_program_full.json +17 -0
  48. data/src/test/resources/fixtures/leads_extract2.csv +10 -0
  49. data/src/test/resources/fixtures/lists_response.json +31 -0
  50. data/src/test/resources/fixtures/program_response.json +71 -0
  51. metadata +39 -8
  52. data/src/main/java/org/embulk/input/marketo/model/filter/ListFilter.java +0 -10
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "id": 102519,
4
+ "updatedAt": "2017-09-11T03:14:12Z",
5
+ "lastName": "Nguyen",
6
+ "email": "robert@treasure-data.com",
7
+ "createdAt": "2017-09-11T03:14:13Z",
8
+ "firstName": "Robert",
9
+ "membership": {
10
+ "progressionStatus": "Member",
11
+ "isExhausted": false,
12
+ "acquiredBy": true,
13
+ "reachedSuccess": false,
14
+ "membershipDate": "2017-09-11T03:14:13Z"
15
+ }
16
+ }
17
+ ]
@@ -0,0 +1,10 @@
1
+ company,site,billingStreet,billingCity,billingState,billingCountry,billingPostalCode,website,mainPhone,annualRevenue,numberOfEmployees,industry,sicCode,mktoCompanyNotes,externalCompanyId,id,mktoName,personType,mktoIsPartner,isLead,mktoIsCustomer,isAnonymous,salutation,firstName,middleName,lastName,email,phone,mobilePhone,fax,title,contactCompany,dateOfBirth,address,city,state,country,postalCode,originalSourceType,originalSourceInfo,registrationSourceType,registrationSourceInfo,originalSearchEngine,originalSearchPhrase,originalReferrer,emailInvalid,emailInvalidCause,unsubscribed,unsubscribedReason,doNotCall,mktoDoNotCallCause,doNotCallReason,mktoPersonNotes,anonymousIP,inferredCompany,inferredCountry,inferredCity,inferredStateRegion,inferredPostalCode,inferredMetropolitanArea,inferredPhoneAreaCode,department,createdAt,updatedAt,cookies,externalSalesPersonId,leadPerson,leadRole,leadSource,leadStatus,leadScore,urgency,priority,relativeScore,relativeUrgency,rating,personPrimaryLeadInterest,leadPartitionId,leadRevenueCycleModelId,leadRevenueStageId,gender,facebookDisplayName,twitterDisplayName,linkedInDisplayName,facebookProfileURL,twitterProfileURL,linkedInProfileURL,facebookPhotoURL,twitterPhotoURL,linkedInPhotoURL,facebookReach,twitterReach,linkedInReach,facebookReferredVisits,twitterReferredVisits,linkedInReferredVisits,totalReferredVisits,facebookReferredEnrollments,twitterReferredEnrollments,linkedInReferredEnrollments,totalReferredEnrollments,lastReferredVisit,lastReferredEnrollment,syndicationId,facebookId,twitterId,linkedInId,acquisitionProgramId,mktoAcquisitionDate,tdglobalid,tdid,mbtesttextarea,customFieldInt,tdidint,time,mBtestboolean24,mBtestcurrency24,mBtestdate24,mBtestDatetime24,mBtestemail24,mBtestfloat24,mBtestinteger24,mBtestpercent24,mBtestphone24,mBtestscore24,mBteststring24,mBtesttextarea24,mBtesturl24,marketoTimeZone
2
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102495,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102495,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102495,null,null,null,null,null,null,null,null,null,102495,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
3
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102452,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102452,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102452,null,null,null,null,null,null,null,null,null,102452,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
4
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102435,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102435,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102435,null,null,null,null,null,null,null,null,null,102435,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
5
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102467,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102467,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102467,null,null,null,null,null,null,null,null,null,102467,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
6
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102420,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102420,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102420,null,null,null,null,null,null,null,null,null,102420,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
7
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102496,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102496,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102496,null,null,null,null,null,null,null,null,null,102496,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
8
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102448,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102448,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102448,null,null,null,null,null,null,null,null,null,102448,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
9
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102499,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102499,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102499,null,null,null,null,null,null,null,null,null,102499,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
10
+ TD_TESTING,null,null,null,null,null,null,null,null,null,null,null,null,null,null,102431,null,contact,false,true,false,false,null,null,null,null,null,null,null,null,null,102431,null,null,null,null,null,null,List import,List: Yao Import Test,List import,List: Yao Import Test,null,null,null,false,null,false,null,false,null,null,null,null,null,null,null,null,null,null,null,null,2017-09-08T16:39:14Z,2017-09-08T16:39:13Z,null,null,102431,null,null,null,null,null,null,null,null,null,102431,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null
@@ -0,0 +1,31 @@
1
+ {
2
+ "responses": [
3
+ {
4
+ "requestId": "2",
5
+ "result": [
6
+ {
7
+ "id": 1007,
8
+ "name": "Test list 1",
9
+ "workspaceName": "Default",
10
+ "createdAt": "2017-08-30T18:31:28Z",
11
+ "updatedAt": "2017-09-21T21:48:10Z"
12
+ }
13
+ ],
14
+ "success": true,
15
+ "nextPageToken": "GWP55GLCVCZLPE6SS7OCG5IEXQ======"
16
+ },
17
+ {
18
+ "requestId": "1",
19
+ "result": [
20
+ {
21
+ "id": 1008,
22
+ "name": "Test list 2",
23
+ "workspaceName": "Default",
24
+ "createdAt": "2017-08-30T18:31:28Z",
25
+ "updatedAt": "2017-09-21T21:48:10Z"
26
+ }
27
+ ],
28
+ "success": true
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "responses": [
3
+ {
4
+ "success": true,
5
+ "errors": [],
6
+ "requestId": "1611b#15f01e681c4",
7
+ "warnings": [],
8
+ "result": [
9
+ {
10
+ "id": 1004,
11
+ "name": "MB_Sep_25_test_program",
12
+ "description": "MB_Sep_25_test_program description",
13
+ "createdAt": "2017-09-25T21:51:20Z+0000",
14
+ "updatedAt": "2017-09-25T21:51:57Z+0000",
15
+ "url": "https://app-ab24.marketo.com/#NP1004A1",
16
+ "type": "Engagement",
17
+ "channel": "Nurture",
18
+ "folder": {
19
+ "type": "Folder",
20
+ "value": 75,
21
+ "folderName": "MB_Sep_25_test_campaign_folder"
22
+ },
23
+ "status": "on",
24
+ "workspace": "Default"
25
+ },
26
+ {
27
+ "id": 1001,
28
+ "name": "TD Output Test Program",
29
+ "description": "A test program to process list import from TD system",
30
+ "createdAt": "2017-08-10T03:23:19Z+0000",
31
+ "updatedAt": "2017-09-06T14:03:57Z+0000",
32
+ "url": "https://app-ab24.marketo.com/#PG1001A1",
33
+ "type": "Default",
34
+ "channel": "List Import",
35
+ "folder": {
36
+ "type": "Folder",
37
+ "value": 66,
38
+ "folderName": "TD Testing Campaign"
39
+ },
40
+ "status": "",
41
+ "workspace": "Default"
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "success": true,
47
+ "errors": [],
48
+ "requestId": "1611b#15f01e681c4",
49
+ "warnings": [],
50
+ "result": [
51
+ {
52
+ "id": 1003,
53
+ "name": "Yao_progream",
54
+ "description": "",
55
+ "createdAt": "2017-08-30T20:25:53Z+0000",
56
+ "updatedAt": "2017-08-31T05:55:49Z+0000",
57
+ "url": "https://app-ab24.marketo.com/#EBP1003A1",
58
+ "type": "Email",
59
+ "channel": "Email Send",
60
+ "folder": {
61
+ "type": "Folder",
62
+ "value": 71,
63
+ "folderName": "Yao_Campaign_folder"
64
+ },
65
+ "status": "completed",
66
+ "workspace": "Default"
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-marketo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7.alpha.6
4
+ version: 0.6.0.alpha.1
5
5
  platform: ruby
6
6
  authors:
7
- - Tai Khuu
7
+ - uu59
8
+ - yoshihara
9
+ - taikhuu
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2017-09-29 00:00:00.000000000 Z
13
+ date: 2017-10-10 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  requirement: !ruby/object:Gem::Requirement
@@ -40,6 +42,8 @@ dependencies:
40
42
  version: '10.0'
41
43
  description: Loads records from Marketo.
42
44
  email:
45
+ - k@uu59.org
46
+ - h.yoshihara@everyleaf.com
43
47
  - tai@treasuredata.com
44
48
  executables: []
45
49
  extensions: []
@@ -80,26 +84,53 @@ files:
80
84
  - src/main/java/org/embulk/input/marketo/model/MarketoField.java
81
85
  - src/main/java/org/embulk/input/marketo/model/MarketoResponse.java
82
86
  - src/main/java/org/embulk/input/marketo/model/filter/DateRangeFilter.java
83
- - src/main/java/org/embulk/input/marketo/model/filter/ListFilter.java
84
87
  - src/main/java/org/embulk/input/marketo/model/filter/MarketoFilter.java
85
88
  - src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java
86
- - src/main/java/org/embulk/input/marketo/rest/MarketoFileResponseEntityReader.java
89
+ - src/main/java/org/embulk/input/marketo/rest/MarketoInputStreamResponseEntityReader.java
87
90
  - src/main/java/org/embulk/input/marketo/rest/MarketoRESTEndpoint.java
88
91
  - src/main/java/org/embulk/input/marketo/rest/MarketoResponseJetty92EntityReader.java
89
92
  - src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java
90
93
  - src/main/java/org/embulk/input/marketo/rest/RecordPagingIterable.java
94
+ - src/test/java/org/embulk/input/marketo/MarketoServiceImplTest.java
95
+ - src/test/java/org/embulk/input/marketo/MarketoUtilsTest.java
91
96
  - src/test/java/org/embulk/input/marketo/TestMarketoInputPlugin.java
97
+ - src/test/java/org/embulk/input/marketo/delegate/ActivityBulkExtractInputPluginTest.java
98
+ - src/test/java/org/embulk/input/marketo/delegate/CampaignInputPluginTest.java
99
+ - src/test/java/org/embulk/input/marketo/delegate/LeadBulkExtractInputPluginTest.java
100
+ - src/test/java/org/embulk/input/marketo/delegate/LeadWithListInputPluginTest.java
101
+ - src/test/java/org/embulk/input/marketo/delegate/LeadWithProgramInputPluginTest.java
102
+ - src/test/java/org/embulk/input/marketo/delegate/MarketoBaseBulkExtractInputPluginTest.java
92
103
  - src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java
104
+ - src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java
105
+ - src/test/resources/config/activity_bulk_extract_config.yaml
106
+ - src/test/resources/config/lead_bulk_extract_config.yaml
107
+ - src/test/resources/config/rest_config.yaml
108
+ - src/test/resources/fixtures/activity_extract1.csv
109
+ - src/test/resources/fixtures/activity_extract2.csv
110
+ - src/test/resources/fixtures/all_program_full.json
111
+ - src/test/resources/fixtures/campaign_response.json
112
+ - src/test/resources/fixtures/campaign_response_full.json
113
+ - src/test/resources/fixtures/lead_by_list.json
114
+ - src/test/resources/fixtures/lead_by_program_response.json
115
+ - src/test/resources/fixtures/lead_describe.json
116
+ - src/test/resources/fixtures/lead_describe_expected.json
117
+ - src/test/resources/fixtures/lead_describe_marketo_fields_full.json
118
+ - src/test/resources/fixtures/lead_extract1.csv
119
+ - src/test/resources/fixtures/lead_response_full.json
120
+ - src/test/resources/fixtures/lead_with_program_full.json
121
+ - src/test/resources/fixtures/leads_extract2.csv
122
+ - src/test/resources/fixtures/lists_response.json
123
+ - src/test/resources/fixtures/program_response.json
93
124
  - classpath/jetty-http-9.2.14.v20151106.jar
94
125
  - classpath/embulk-base-restclient-0.5.3.jar
95
126
  - classpath/jetty-client-9.2.14.v20151106.jar
96
127
  - classpath/jetty-util-9.2.14.v20151106.jar
128
+ - classpath/embulk-input-marketo-0.6.0.alpha.1.jar
97
129
  - classpath/embulk-util-retryhelper-jetty92-0.5.3.jar
98
130
  - classpath/jetty-io-9.2.14.v20151106.jar
99
- - classpath/embulk-input-marketo-0.5.7.alpha.6.jar
100
- homepage:
131
+ homepage: https://github.com/treasure-data/embulk-input-marketo
101
132
  licenses:
102
- - MIT
133
+ - Apache2
103
134
  metadata: {}
104
135
  post_install_message:
105
136
  rdoc_options: []
@@ -1,10 +0,0 @@
1
- package org.embulk.input.marketo.model.filter;
2
-
3
- import java.util.ArrayList;
4
-
5
- /**
6
- * Created by tai.khuu on 8/27/17.
7
- */
8
- public class ListFilter extends ArrayList<String> implements MarketoFilter
9
- {
10
- }