summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/segmentio/analytics-go/analytics_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/segmentio/analytics-go/analytics_test.go')
-rw-r--r--vendor/github.com/segmentio/analytics-go/analytics_test.go478
1 files changed, 0 insertions, 478 deletions
diff --git a/vendor/github.com/segmentio/analytics-go/analytics_test.go b/vendor/github.com/segmentio/analytics-go/analytics_test.go
deleted file mode 100644
index c6f0dc4f2..000000000
--- a/vendor/github.com/segmentio/analytics-go/analytics_test.go
+++ /dev/null
@@ -1,478 +0,0 @@
-package analytics
-
-import "net/http/httptest"
-import "encoding/json"
-import "net/http"
-import "testing"
-import "bytes"
-import "time"
-import "fmt"
-import "io"
-
-func mockId() string { return "I'm unique" }
-
-func mockTime() time.Time {
- // time.Unix(0, 0) fails on Circle
- return time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
-}
-
-func mockServer() (chan []byte, *httptest.Server) {
- done := make(chan []byte, 1)
-
- server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- buf := bytes.NewBuffer(nil)
- io.Copy(buf, r.Body)
-
- var v interface{}
- err := json.Unmarshal(buf.Bytes(), &v)
- if err != nil {
- panic(err)
- }
-
- b, err := json.MarshalIndent(v, "", " ")
- if err != nil {
- panic(err)
- }
-
- done <- b
- }))
-
- return done, server
-}
-
-func ExampleTrack() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 1
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- })
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleClose() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- })
-
- client.Close()
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleInterval() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- })
-
- // Will flush in 5 seconds (default interval).
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleTrackWithTimestampSet() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 1
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- Message: Message{
- Timestamp: timestamp(time.Date(2015, time.July, 10, 23, 0, 0, 0, time.UTC)),
- },
- })
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2015-07-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleTrackWithMessageIdSet() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 1
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- Message: Message{
- MessageId: "abc",
- },
- })
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "abc",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleTrack_context() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 1
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- Context: map[string]interface{}{
- "whatever": "here",
- },
- })
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "context": {
- // "whatever": "here"
- // },
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleTrack_many() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 3
-
- for i := 0; i < 5; i++ {
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": i,
- },
- })
- }
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "version": 0
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // },
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "version": 1
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // },
- // {
- // "event": "Download",
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "version": 2
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-func ExampleTrackWithIntegrations() {
- body, server := mockServer()
- defer server.Close()
-
- client := New("h97jamjwbh")
- client.Endpoint = server.URL
- client.now = mockTime
- client.uid = mockId
- client.Size = 1
-
- client.Track(&Track{
- Event: "Download",
- UserId: "123456",
- Properties: map[string]interface{}{
- "application": "Segment Desktop",
- "version": "1.1.0",
- "platform": "osx",
- },
- Integrations: map[string]interface{}{
- "All": true,
- "Intercom": false,
- "Mixpanel": true,
- },
- })
-
- fmt.Printf("%s\n", <-body)
- // Output:
- // {
- // "batch": [
- // {
- // "event": "Download",
- // "integrations": {
- // "All": true,
- // "Intercom": false,
- // "Mixpanel": true
- // },
- // "messageId": "I'm unique",
- // "properties": {
- // "application": "Segment Desktop",
- // "platform": "osx",
- // "version": "1.1.0"
- // },
- // "timestamp": "2009-11-10T23:00:00+0000",
- // "type": "track",
- // "userId": "123456"
- // }
- // ],
- // "context": {
- // "library": {
- // "name": "analytics-go",
- // "version": "2.1.0"
- // }
- // },
- // "messageId": "I'm unique",
- // "sentAt": "2009-11-10T23:00:00+0000"
- // }
-}
-
-// Tests that calling Close right after creating the client object doesn't
-// block.
-// Bug: https://github.com/segmentio/analytics-go/issues/43
-func TestCloseFinish(_ *testing.T) {
- c := New("test")
- c.Close()
-}