Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
KenWilliamson committed Sep 29, 2019
1 parent 9452fc9 commit 5675912
Show file tree
Hide file tree
Showing 6 changed files with 503 additions and 250 deletions.
507 changes: 258 additions & 249 deletions mysqldb/coverage.out

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions mysqldb/keys.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package mysqldb

/*
Copyright (C) 2019 Ulbora Labs LLC. (www.ulboralabs.com)
All rights reserved.
Copyright (C) 2019 Ken Williamson
All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

//GetAccessTokenKey GetAccessTokenKey
func (d *MySQLOauthDB) GetAccessTokenKey() string {
var rtn string
if !d.testConnection() {
d.DB.Connect()
}
var a []interface{}
row := d.DB.Get(getAccessTokenKey, a...)
rtn = row.Row[1]
return rtn
}

//GetRefreshTokenKey GetRefreshTokenKey
func (d *MySQLOauthDB) GetRefreshTokenKey() string {
var rtn string
if !d.testConnection() {
d.DB.Connect()
}
var a []interface{}
row := d.DB.Get(getRefreshTokenKey, a...)
rtn = row.Row[1]
return rtn
}

//GetSessionKey GetSessionKey
func (d *MySQLOauthDB) GetSessionKey() string {
var rtn string
if !d.testConnection() {
d.DB.Connect()
}
var a []interface{}
row := d.DB.Get(getSessionKey, a...)
rtn = row.Row[1]
return rtn
}
57 changes: 57 additions & 0 deletions mysqldb/keys_integration_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// +build integration move to top

package mysqldb

import (
"fmt"
"testing"

odb "github.com/Ulbora/GoAuth2/oauth2database"
db "github.com/Ulbora/dbinterface"
mdb "github.com/Ulbora/dbinterface_mysql"
)

var dbKeyi db.Database
var odbKeyi odb.Oauth2DB
var cidKeyi int64
var idKeyi int64

func TestMySQLOauthDBKeyi_ConnectAllowURI(t *testing.T) {
var mydb mdb.MyDB
mydb.Host = "localhost:3306"
mydb.User = "admin"
mydb.Password = "admin"
mydb.Database = "ulbora_oauth2_server"
dbKeyi = &mydb

var moadb MySQLOauthDB
moadb.DB = dbKeyi

odbKeyi = &moadb

dbKeyi.Connect()
}

func TestMySQLOauthDBKeyi_GetAccessTokenKey(t *testing.T) {
key := odbKeyi.GetAccessTokenKey()
fmt.Println("access token key: ", key)
if key == "" {
t.Fail()
}
}

func TestMySQLOauthDBKeyi_GetRefreshTokenKey(t *testing.T) {
key := odbKeyi.GetRefreshTokenKey()
fmt.Println("refresh token key: ", key)
if key == "" {
t.Fail()
}
}

func TestMySQLOauthDBKeyi_GetSessionKey(t *testing.T) {
key := odbKeyi.GetSessionKey()
fmt.Println("session key: ", key)
if key == "" {
t.Fail()
}
}
121 changes: 121 additions & 0 deletions mysqldb/keys_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
package mysqldb

import (
"fmt"
"testing"

odb "github.com/Ulbora/GoAuth2/oauth2database"
db "github.com/Ulbora/dbinterface"
mdb "github.com/Ulbora/dbinterface_mysql"
)

var dbKey db.Database
var odbKey odb.Oauth2DB
var cidKey int64
var idKey int64

func TestMySQLOauthDBKey_ConnectAllowURI(t *testing.T) {
var mydb mdb.MyDBMock
mydb.Host = "localhost:3306"
mydb.User = "admin"
mydb.Password = "admin"
mydb.Database = "ulbora_oauth2_server"
dbKey = &mydb

var moadb MySQLOauthDB
moadb.DB = dbKey

odbKey = &moadb

dbKey.Connect()
}

func TestMySQLOauthDBKey_GetAccessTokenKey(t *testing.T) {
var mydb mdb.MyDBMock
mydb.Host = "localhost:3306"
mydb.User = "admin"
mydb.Password = "admin"
mydb.Database = "ulbora_oauth2_server"
dbKey = &mydb

var mTestRow db.DbRow
mTestRow.Row = []string{}
mydb.MockTestRow = &mTestRow

var getRow db.DbRow
getRow.Row = []string{"1", "somekey"}
mydb.MockRow1 = &getRow

var moadb MySQLOauthDB
moadb.DB = dbKey

odbKey = &moadb

dbKey.Connect()

key := odbKey.GetAccessTokenKey()
fmt.Println("access token key: ", key)
if key == "" {
t.Fail()
}
}

func TestMySQLOauthDBKey_GetRefreshTokenKey(t *testing.T) {
var mydb mdb.MyDBMock
mydb.Host = "localhost:3306"
mydb.User = "admin"
mydb.Password = "admin"
mydb.Database = "ulbora_oauth2_server"
dbKey = &mydb

var mTestRow db.DbRow
mTestRow.Row = []string{}
mydb.MockTestRow = &mTestRow

var getRow db.DbRow
getRow.Row = []string{"1", "somekey"}
mydb.MockRow1 = &getRow

var moadb MySQLOauthDB
moadb.DB = dbKey

odbKey = &moadb

dbKey.Connect()

key := odbKey.GetRefreshTokenKey()
fmt.Println("refresh token key: ", key)
if key == "" {
t.Fail()
}
}

func TestMySQLOauthDBKey_GetSessionKey(t *testing.T) {
var mydb mdb.MyDBMock
mydb.Host = "localhost:3306"
mydb.User = "admin"
mydb.Password = "admin"
mydb.Database = "ulbora_oauth2_server"
dbKey = &mydb

var mTestRow db.DbRow
mTestRow.Row = []string{}
mydb.MockTestRow = &mTestRow

var getRow db.DbRow
getRow.Row = []string{"1", "somekey"}
mydb.MockRow1 = &getRow

var moadb MySQLOauthDB
moadb.DB = dbKey

odbKey = &moadb

dbKey.Connect()

key := odbKey.GetSessionKey()
fmt.Println("session key: ", key)
if key == "" {
t.Fail()
}
}
5 changes: 5 additions & 0 deletions mysqldb/queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,9 @@ const (
getCredentialsGrant = "SELECT id, client_id, access_token_id " +
"FROM credentials_grant WHERE client_id = ?"
deleteCredentialsGrant = "DELETE FROM credentials_grant WHERE id = ? "

//keys
getAccessTokenKey = "SELECT * FROM access_token_key "
getRefreshTokenKey = "SELECT * FROM refresh_token_key"
getSessionKey = "SELECT * FROM session_key"
)
6 changes: 5 additions & 1 deletion oauth2database/oauth2Db.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ type Oauth2DB interface {
//implicit grant scope
GetImplicitGrantScopeList(ig int64) *[]ImplicitScope

//start here
// Password grand
AddPasswordGrant(pwg *PasswordGrant, at *AccessToken, rt *RefreshToken) (bool, int64)
GetPasswordGrant(clientID int64, userID string) *[]PasswordGrant
Expand All @@ -125,4 +124,9 @@ type Oauth2DB interface {
AddCredentialsGrant(cg *CredentialsGrant, at *AccessToken) (bool, int64)
GetCredentialsGrant(clientID int64) *[]CredentialsGrant
DeleteCredentialsGrant(clientID int64) bool

// keys
GetAccessTokenKey() string
GetRefreshTokenKey() string
GetSessionKey() string
}

0 comments on commit 5675912

Please sign in to comment.