516 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			516 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Go
		
	
	
	
| package salesforce_test
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 	"net/http/httptest"
 | |
| 	"net/url"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/influxdata/telegraf/plugins/inputs/salesforce"
 | |
| 	"github.com/influxdata/telegraf/testutil"
 | |
| 	"github.com/stretchr/testify/require"
 | |
| )
 | |
| 
 | |
| func Test_Gather(t *testing.T) {
 | |
| 	fakeServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | |
| 		w.Header().Add("Content-Type", "application/json")
 | |
| 		_, _ = w.Write([]byte(testJson))
 | |
| 	}))
 | |
| 	defer fakeServer.Close()
 | |
| 
 | |
| 	plugin := salesforce.NewSalesforce()
 | |
| 	plugin.SessionID = "test_session"
 | |
| 	u, err := url.Parse(fakeServer.URL)
 | |
| 	if err != nil {
 | |
| 		t.Error(err)
 | |
| 	}
 | |
| 	plugin.ServerURL = u
 | |
| 
 | |
| 	var acc testutil.Accumulator
 | |
| 	require.NoError(t, acc.GatherError(plugin.Gather))
 | |
| 
 | |
| 	require.Len(t, acc.Metrics, 1)
 | |
| 	m := acc.Metrics[0]
 | |
| 	require.Len(t, m.Fields, 46)
 | |
| 	require.Len(t, m.Tags, 2)
 | |
| }
 | |
| 
 | |
| var testJson = `{
 | |
|   "ConcurrentAsyncGetReportInstances" : {
 | |
|     "Max" : 200,
 | |
|     "Remaining" : 200
 | |
|   },
 | |
|   "ConcurrentSyncReportRuns" : {
 | |
|     "Max" : 20,
 | |
|     "Remaining" : 20
 | |
|   },
 | |
|   "DailyApiRequests" : {
 | |
|     "Max" : 25000,
 | |
|     "Remaining" : 24926,
 | |
|     "AgilePoint" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Ant Migration Tool" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Axsy Server Integration" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Desktop" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Mobile for BlackBerry" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Bulk" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Partner" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "EAHelperBot" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Force.com IDE" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce (QA)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "MyU App" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SMS Magic Interact" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Chatter" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Files" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Mobile Dashboards" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Social Customer Service (SCS)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Touch" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce for Outlook" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for Android" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for iOS" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceA" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceIQ" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Workbench" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     }
 | |
|   },
 | |
|   "DailyAsyncApexExecutions" : {
 | |
|     "Max" : 250000,
 | |
|     "Remaining" : 250000
 | |
|   },
 | |
|   "DailyBulkApiRequests" : {
 | |
|     "Max" : 10000,
 | |
|     "Remaining" : 10000,
 | |
|     "AgilePoint" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Ant Migration Tool" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Axsy Server Integration" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Desktop" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Mobile for BlackBerry" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Bulk" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Partner" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "EAHelperBot" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Force.com IDE" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce (QA)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "MyU App" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SMS Magic Interact" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Chatter" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Files" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Mobile Dashboards" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Social Customer Service (SCS)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Touch" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce for Outlook" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for Android" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for iOS" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceA" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceIQ" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Workbench" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     }
 | |
|   },
 | |
|   "DailyDurableGenericStreamingApiEvents" : {
 | |
|     "Max" : 10000,
 | |
|     "Remaining" : 10000
 | |
|   },
 | |
|   "DailyDurableStreamingApiEvents" : {
 | |
|     "Max" : 10000,
 | |
|     "Remaining" : 10000
 | |
|   },
 | |
|   "DailyGenericStreamingApiEvents" : {
 | |
|     "Max" : 10000,
 | |
|     "Remaining" : 10000,
 | |
|     "AgilePoint" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Ant Migration Tool" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Axsy Server Integration" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Desktop" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Mobile for BlackBerry" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Bulk" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Partner" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "EAHelperBot" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Force.com IDE" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce (QA)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "MyU App" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SMS Magic Interact" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Chatter" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Files" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Mobile Dashboards" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Social Customer Service (SCS)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Touch" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce for Outlook" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for Android" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for iOS" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceA" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceIQ" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Workbench" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     }
 | |
|   },
 | |
|   "DailyStreamingApiEvents" : {
 | |
|     "Max" : 20000,
 | |
|     "Remaining" : 20000,
 | |
|     "AgilePoint" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Ant Migration Tool" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Axsy Server Integration" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Desktop" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Chatter Mobile for BlackBerry" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Bulk" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Dataloader Partner" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "EAHelperBot" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Force.com IDE" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "LiveText for Salesforce (QA)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "MyU App" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SMS Magic Interact" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Chatter" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Files" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Mobile Dashboards" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Social Customer Service (SCS)" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce Touch" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce for Outlook" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for Android" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Salesforce1 for iOS" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceA" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "SalesforceIQ" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     },
 | |
|     "Workbench" : {
 | |
|       "Max" : 0,
 | |
|       "Remaining" : 0
 | |
|     }
 | |
|   },
 | |
|   "DailyWorkflowEmails" : {
 | |
|     "Max" : 20000,
 | |
|     "Remaining" : 20000
 | |
|   },
 | |
|   "DataStorageMB" : {
 | |
|     "Max" : 209,
 | |
|     "Remaining" : 207
 | |
|   },
 | |
|   "DurableStreamingApiConcurrentClients" : {
 | |
|     "Max" : 20,
 | |
|     "Remaining" : 20
 | |
|   },
 | |
|   "FileStorageMB" : {
 | |
|     "Max" : 209,
 | |
|     "Remaining" : 206
 | |
|   },
 | |
|   "HourlyAsyncReportRuns" : {
 | |
|     "Max" : 1200,
 | |
|     "Remaining" : 1200
 | |
|   },
 | |
|   "HourlyDashboardRefreshes" : {
 | |
|     "Max" : 200,
 | |
|     "Remaining" : 200
 | |
|   },
 | |
|   "HourlyDashboardResults" : {
 | |
|     "Max" : 5000,
 | |
|     "Remaining" : 5000
 | |
|   },
 | |
|   "HourlyDashboardStatuses" : {
 | |
|     "Max" : 999999999,
 | |
|     "Remaining" : 999999999
 | |
|   },
 | |
|   "HourlyODataCallout" : {
 | |
|     "Max" : 20000,
 | |
|     "Remaining" : 19998
 | |
|   },
 | |
|   "HourlySyncReportRuns" : {
 | |
|     "Max" : 500,
 | |
|     "Remaining" : 500
 | |
|   },
 | |
|   "HourlyTimeBasedWorkflow" : {
 | |
|     "Max" : 50,
 | |
|     "Remaining" : 50
 | |
|   },
 | |
|   "MassEmail" : {
 | |
|     "Max" : 5000,
 | |
|     "Remaining" : 5000
 | |
|   },
 | |
|   "SingleEmail" : {
 | |
|     "Max" : 5000,
 | |
|     "Remaining" : 5000
 | |
|   },
 | |
|   "StreamingApiConcurrentClients" : {
 | |
|     "Max" : 20,
 | |
|     "Remaining" : 20
 | |
|   }
 | |
| }`
 |