func main() { flag.Parse() if len(*clientId) == 0 || len(*clientSecret) == 0 || len(*accessToken) == 0 || len(*refreshToken) == 0 { fmt.Println("unfortunately all flags must be provided") return } // Set our OAuth2 configuration up var ( configSource = box.NewConfigSource( &oauth2.Config{ ClientID: *clientId, ClientSecret: *clientSecret, Scopes: nil, Endpoint: oauth2.Endpoint{ AuthURL: "https://app.box.com/api/oauth2/authorize", TokenURL: "https://app.box.com/api/oauth2/token", }, RedirectURL: "http://localhost:8080/handle", }, ) tok = &oauth2.Token{ TokenType: "Bearer", AccessToken: *accessToken, RefreshToken: *refreshToken, } c = configSource.NewClient(tok) ) eventStream := c.EventService().Channel(32) for eve := range eventStream { fmt.Println("got event: ", pretty.Sprintf("%#v\n", eve)) } }
func Test_rawURIParse(t *testing.T) { var tests = []struct { uriRaw string uri *uri err error }{ { "foo://example.com:8042/over/there?name=ferret#nose", &uri{"foo", "//example.com:8042/over/there", "name=ferret", "nose", &authorityInfo{ "//", "", "example.com", "8042", "/over/there", }, }, nil, }, { "http://httpbin.org/get?utf8=\xe2\x98\x83", &uri{"http", "//httpbin.org/get", "utf8=\xe2\x98\x83", "", &authorityInfo{ "//", "", "httpbin.org", "", "/get", }, }, nil, }, { "mailto:[email protected]", &uri{"mailto", "*****@*****.**", "", "", &authorityInfo{ "", "user", "domain.com", "", "", }, }, nil, }, { "ssh://[email protected]:29418/openstack/keystone.git", &uri{"ssh", "//[email protected]:29418/openstack/keystone.git", "", "", &authorityInfo{ "//", "user", "git.openstack.org", "29418", "/openstack/keystone.git", }, }, nil, }, { "https://willo.io/#yolo", &uri{"https", "//willo.io/", "", "yolo", &authorityInfo{"//", "", "willo.io", "", "/"}, }, nil, }, } for _, test := range tests { got, err := ParseURI(test.uriRaw) if err != test.err { t.Errorf("got back unexpected err: %v != %v", err, test.err) continue } else if !reflect.DeepEqual(got, test.uri) { t.Errorf("got back unexpected (raw: %s), uri: %v != %v", test.uriRaw, pretty.Sprintf("%#v", got), pretty.Sprintf("%#v", test.uri)) } } }