作者:dlapidu
项目:cf-dec
func TestOAuth(t *testing.T) {
mockSettings := helpers.Settings{}
mockSettings.TokenContext = context.TODO()
for _, test := range oauthTests {
// Initialize a new session store.
store := MockSessionStore{}
store.ResetSessionData(test.SessionData, "")
mockSettings.Sessions = store
// Setup a test route on the API router (which is guarded by OAuth)
response, request := NewTestRequest("GET", "/v2/test", nil)
router := controllers.InitRouter(&mockSettings)
secureRouter := router.Subrouter(controllers.SecureContext{}, "/")
apiRouter := secureRouter.Subrouter(controllers.APIContext{}, "/v2")
apiRouter.Middleware((*controllers.APIContext).OAuth)
apiRouter.Get("/test", func(c *controllers.APIContext, rw web.ResponseWriter, r *web.Request) {
fmt.Fprintf(rw, "test")
})
// Make the request and check.
router.ServeHTTP(response, request)
if strings.TrimSpace(response.Body.String()) != test.ExpectedResponse {
t.Errorf("Test %s did not meet expected value. Expected %s. Found %s.\n", test.TestName, test.ExpectedResponse, response.Body.String())
}
}
}
作者:ArthurHl
项目:cg-dec
func TestInitSettings(t *testing.T) {
s := helpers.Settings{}
for _, test := range initSettingsTests {
ret := s.InitSettings(test.envVars)
if (ret == nil) != test.returnValueNull {
t.Errorf("Test %s did not return correct value. Expected %t, Actual %t", test.testName, test.returnValueNull, (ret == nil))
}
}
}
作者:ArthurHl
项目:cg-dec
// InitApp takes in envars and sets up the router and settings that will be used for the unstarted server.
func InitApp(envVars helpers.EnvVars) (*web.Router, *helpers.Settings, error) {
// Initialize the settings.
settings := helpers.Settings{}
if err := settings.InitSettings(envVars); err != nil {
return nil, nil, err
}
// Initialize the router
router := InitRouter(&settings)
return router, &settings, nil
}
作者:ArthurHl
项目:cg-dec
// CreateRouterWithMockSession will create a settings with the appropriate envVars and load the mock session with the session data.
func CreateRouterWithMockSession(sessionData map[string]interface{}, envVars helpers.EnvVars) (*web.Router, *MockSessionStore) {
// Initialize settings.
settings := helpers.Settings{}
settings.InitSettings(envVars)
// Initialize a new session store.
store := MockSessionStore{}
store.ResetSessionData(sessionData, "")
// Override the session store.
settings.Sessions = store
// Create the router.
router := controllers.InitRouter(&settings)
return router, &store
}
作者:ArthurHl
项目:cg-dec
func TestGetValidToken(t *testing.T) {
mockRequest, _ := http.NewRequest("GET", "", nil)
mockSettings := helpers.Settings{}
mockSettings.TokenContext = context.TODO()
for _, test := range getValidTokenTests {
// Initialize a new session store.
store := testhelpers.MockSessionStore{}
store.ResetSessionData(test.sessionData, test.sessionName)
mockSettings.Sessions = store
value := helpers.GetValidToken(mockRequest, &mockSettings)
if (value == nil) == test.returnValueNull {
} else {
t.Errorf("Test %s did not meet expected value. Expected: %t. Actual: %t\n", test.testName, test.returnValueNull, (value == nil))
}
}
}