Documentation
¶
Index ¶
- Variables
- func ReadFile(filename string) string
- type CC
- type Notifications
- func (s Notifications) Boot()
- func (s Notifications) Close()
- func (s Notifications) EmailPath() string
- func (s Notifications) OrganizationsPath(organization string) string
- func (s Notifications) Ping()
- func (s Notifications) RegistrationPath() string
- func (s Notifications) SpacesPath(space string) string
- func (s Notifications) SpecificUserPreferencesPath(userGUID string) string
- func (s Notifications) TemplatePath(templateName string) string
- func (s Notifications) UserPreferencesPath() string
- func (s Notifications) UsersPath(user string) string
- type SMTP
- type UAA
Constants ¶
This section is empty.
Variables ¶
View Source
var CCGetOrg = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { json := `{ "metadata": { "guid": "org-123", "url": "/v2/organizations/org-123", "created_at": "2014-08-01T17:36:17+00:00", "updated_at": "2014-08-01T17:36:20+00:00" }, "entity": { "name": "notifications-service", "billing_enabled": false, "quota_definition_guid": "73530fc0-17a3-42f1-9692-838860d30ec2", "status": "active", "quota_definition_url": "/v2/quota_definitions/73530fc0-17a3-42f1-9692-838860d30ec2", "spaces_url": "/v2/organizations/org-123/spaces", "domains_url": "/v2/organizations/org-123/domains", "private_domains_url": "/v2/organizations/org-123/private_domains", "users_url": "/v2/organizations/org-123/users", "managers_url": "/v2/organizations/org-123/managers", "billing_managers_url": "/v2/organizations/org-123/billing_managers", "auditors_url": "/v2/organizations/org-123/auditors", "app_events_url": "/v2/organizations/org-123/app_events" } }` w.WriteHeader(http.StatusOK) w.Write([]byte(json)) })
View Source
var CCGetOrgUsers = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { json := `{ "total_results": 2, "total_pages": 1, "prev_url": null, "next_url": null, "resources": [ { "metadata": { "guid": "user-456", "url": "/v2/users/user-456", "created_at": "2014-07-16T21:58:29+00:00", "updated_at": null }, "entity": { "admin": false, "active": true, "default_space_guid": null, "spaces_url": "/v2/users/user-456/spaces", "organizations_url": "/v2/users/user-456/organizations", "managed_organizations_url": "/v2/users/user-456/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-456/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-456/audited_organizations", "managed_spaces_url": "/v2/users/user-456/managed_spaces", "audited_spaces_url": "/v2/users/user-456/audited_spaces" } }, { "metadata": { "guid": "user-789", "url": "/v2/users/user-789", "created_at": "2014-07-18T22:08:18+00:00", "updated_at": null }, "entity": { "admin": false, "active": false, "default_space_guid": null, "spaces_url": "/v2/users/user-789/spaces", "organizations_url": "/v2/users/user-789/organizations", "managed_organizations_url": "/v2/users/user-789/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-789/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-789/audited_organizations", "managed_spaces_url": "/v2/users/user-789/managed_spaces", "audited_spaces_url": "/v2/users/user-789/audited_spaces" } }, { "metadata": { "guid": "user-000", "url": "/v2/users/user-000", "created_at": "2014-07-16T21:58:29+00:00", "updated_at": null }, "entity": { "admin": false, "active": true, "default_space_guid": null, "spaces_url": "/v2/users/user-000/spaces", "organizations_url": "/v2/users/user-000/organizations", "managed_organizations_url": "/v2/users/user-000/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-000/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-000/audited_organizations", "managed_spaces_url": "/v2/users/user-000/managed_spaces", "audited_spaces_url": "/v2/users/user-000/audited_spaces" } } ] }` w.WriteHeader(http.StatusOK) w.Write([]byte(json)) })
View Source
var CCGetSpace = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { json := `{ "metadata": { "guid": "space-123", "url": "/v2/spaces/space-123", "created_at": "2014-08-01T17:36:18+00:00", "updated_at": null }, "entity": { "name": "notifications-service", "organization_guid": "org-123", "organization_url": "/v2/organizations/org-123", "developers_url": "/v2/spaces/space-123/developers", "managers_url": "/v2/spaces/space-123/managers", "auditors_url": "/v2/spaces/space-123/auditors", "apps_url": "/v2/spaces/space-123/apps", "routes_url": "/v2/spaces/space-123/routes", "domains_url": "/v2/spaces/space-123/domains", "service_instances_url": "/v2/spaces/space-123/service_instances", "app_events_url": "/v2/spaces/space-123/app_events", "events_url": "/v2/spaces/space-123/events", "security_groups_url": "/v2/spaces/space-123/security_groups" } }` w.WriteHeader(http.StatusOK) w.Write([]byte(json)) })
View Source
var CCGetSpaceUsers = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { json := `{ "total_results": 2, "total_pages": 1, "prev_url": null, "next_url": null, "resources": [ { "metadata": { "guid": "user-456", "url": "/v2/users/user-456", "created_at": "2014-07-16T21:58:29+00:00", "updated_at": null }, "entity": { "admin": false, "active": true, "default_space_guid": null, "spaces_url": "/v2/users/user-456/spaces", "organizations_url": "/v2/users/user-456/organizations", "managed_organizations_url": "/v2/users/user-456/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-456/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-456/audited_organizations", "managed_spaces_url": "/v2/users/user-456/managed_spaces", "audited_spaces_url": "/v2/users/user-456/audited_spaces" } }, { "metadata": { "guid": "user-789", "url": "/v2/users/user-789", "created_at": "2014-07-18T22:08:18+00:00", "updated_at": null }, "entity": { "admin": false, "active": false, "default_space_guid": null, "spaces_url": "/v2/users/user-789/spaces", "organizations_url": "/v2/users/user-789/organizations", "managed_organizations_url": "/v2/users/user-789/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-789/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-789/audited_organizations", "managed_spaces_url": "/v2/users/user-789/managed_spaces", "audited_spaces_url": "/v2/users/user-789/audited_spaces" } }, { "metadata": { "guid": "user-000", "url": "/v2/users/user-000", "created_at": "2014-07-16T21:58:29+00:00", "updated_at": null }, "entity": { "admin": false, "active": true, "default_space_guid": null, "spaces_url": "/v2/users/user-000/spaces", "organizations_url": "/v2/users/user-000/organizations", "managed_organizations_url": "/v2/users/user-000/managed_organizations", "billing_managed_organizations_url": "/v2/users/user-000/billing_managed_organizations", "audited_organizations_url": "/v2/users/user-000/audited_organizations", "managed_spaces_url": "/v2/users/user-000/managed_spaces", "audited_spaces_url": "/v2/users/user-000/audited_spaces" } } ] }` w.WriteHeader(http.StatusOK) w.Write([]byte(json)) })
View Source
var UAAGetTokenKey = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { response, err := json.Marshal(map[string]string{ "alg": "SHA256withRSA", "value": ReadFile("/acceptance/fixtures/public.pem"), }) if err != nil { panic(err) } w.WriteHeader(http.StatusOK) w.Write(response) })
View Source
var UAAGetUsers = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { err := req.ParseForm() if err != nil { panic(err) } filter := req.Form.Get("filter") filterParts := strings.Split(filter, " or ") queryRegexp := regexp.MustCompile(`Id eq "(.*)"`) resources := []interface{}{} for _, part := range filterParts { matches := queryRegexp.FindAllStringSubmatch(part, 1) match := matches[0] if user, ok := UAAUsers[match[1]]; ok { resources = append(resources, user) } } response, err := json.Marshal(map[string]interface{}{ "resources": resources, "startIndex": 1, "itemsPerPage": 100, "totalResults": 1, "schemas": []string{"urn:scim:schemas:core:1.0"}, }) if err != nil { panic(err) } w.WriteHeader(http.StatusOK) w.Write(response) })
View Source
var UAAPostOAuthToken = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { err := req.ParseForm() if err != nil { panic(err) } encodedCredentials := strings.TrimPrefix(req.Header.Get("Authorization"), "Basic ") decodedCredentials, err := base64.StdEncoding.DecodeString(encodedCredentials) credentialsParts := strings.Split(string(decodedCredentials), ":") clientID := credentialsParts[0] token := jwt.New(jwt.GetSigningMethod("RS256")) token.Claims["exp"] = time.Now().Add(time.Hour * 72).Unix() token.Claims["client_id"] = clientID switch req.Form.Get("grant_type") { case "client_credentials": token.Claims["scope"] = []string{"notifications.write", "emails.write", "notification_preferences.admin", "critical_notifications.write", "notification_templates.admin"} case "authorization_code": token.Claims["scope"] = []string{"notification_preferences.read", "notification_preferences.write"} token.Claims["user_id"] = strings.TrimSuffix(req.Form.Get("code"), "-code") } tokenString, err := token.SignedString([]byte(ReadFile("/acceptance/fixtures/private.pem"))) if err != nil { panic(err) } response, err := json.Marshal(map[string]string{ "access_token": tokenString, }) if err != nil { panic(err) } w.WriteHeader(http.StatusOK) w.Write(response) })
View Source
var UAAUsers = map[string]interface{}{ "user-123": map[string]interface{}{ "id": "user-123", "meta": map[string]interface{}{ "version": 4, "created": "2014-07-16T21:00:09.021Z", "lastModified": "2014-08-04T19:16:29.172Z", }, "userName": "User123", "name": map[string]string{}, "emails": []map[string]string{ {"value": "user-123@example.com"}, }, "groups": []map[string]string{ { "value": "some-group-guid", "display": "notifications.write", "type": "DIRECT", }, }, "approvals": []interface{}{}, "active": true, "verified": false, "origin": "uaa", "schemas": []string{"urn:scim:schemas:core:1.0"}, }, "user-456": map[string]interface{}{ "id": "user-456", "meta": map[string]interface{}{ "version": 4, "created": "2014-07-16T21:00:09.021Z", "lastModified": "2014-08-04T19:16:29.172Z", }, "userName": "User456", "name": map[string]string{}, "emails": []map[string]string{ {"value": "user-456@example.com"}, }, "groups": []map[string]string{ { "value": "some-group-guid", "display": "notifications.write", "type": "DIRECT", }, }, "approvals": []interface{}{}, "active": true, "verified": false, "origin": "uaa", "schemas": []string{"urn:scim:schemas:core:1.0"}, }, "user-789": map[string]interface{}{ "id": "user-789", "meta": map[string]interface{}{ "version": 4, "created": "2014-07-16T21:00:09.021Z", "lastModified": "2014-08-04T19:16:29.172Z", }, "userName": "User789", "name": map[string]string{}, "emails": []map[string]string{ {"value": "user-789"}, }, "groups": []map[string]string{ { "value": "some-group-guid", "display": "notifications.write", "type": "DIRECT", }, }, "approvals": []interface{}{}, "active": true, "verified": false, "origin": "uaa", "schemas": []string{"urn:scim:schemas:core:1.0"}, }, }
Functions ¶
Types ¶
type Notifications ¶
type Notifications struct {
// contains filtered or unexported fields
}
func NewNotifications ¶
func NewNotifications() Notifications
func (Notifications) Boot ¶
func (s Notifications) Boot()
func (Notifications) Close ¶
func (s Notifications) Close()
func (Notifications) EmailPath ¶
func (s Notifications) EmailPath() string
func (Notifications) OrganizationsPath ¶
func (s Notifications) OrganizationsPath(organization string) string
func (Notifications) Ping ¶
func (s Notifications) Ping()
func (Notifications) RegistrationPath ¶
func (s Notifications) RegistrationPath() string
func (Notifications) SpacesPath ¶
func (s Notifications) SpacesPath(space string) string
func (Notifications) SpecificUserPreferencesPath ¶
func (s Notifications) SpecificUserPreferencesPath(userGUID string) string
func (Notifications) TemplatePath ¶
func (s Notifications) TemplatePath(templateName string) string
func (Notifications) UserPreferencesPath ¶
func (s Notifications) UserPreferencesPath() string
func (Notifications) UsersPath ¶
func (s Notifications) UsersPath(user string) string
Click to show internal directories.
Click to hide internal directories.