Skip to content

Commit

Permalink
added clients
Browse files Browse the repository at this point in the history
  • Loading branch information
KenWilliamson committed Mar 17, 2019
1 parent c529d48 commit f42cc45
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 30 deletions.
36 changes: 30 additions & 6 deletions mysqldb/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,26 @@ package mysqldb
*/
import (
odb "github.com/Ulbora/GoAuth2/oauth2database"
"log"
//"log"
)

//AddClient AddClient
func (d *MySQLOauthDB) AddClient(client *odb.Client, uris *[]odb.ClientRedirectURI) (bool, int64) {
//var suc = false
log.Println("in add client")
var suc = false
//log.Println("in add client")
if !d.testConnection() {
d.DB.Connect()
}
var fail = false
tx := d.DB.BeginTransaction()
var a []interface{}
a = append(a, client.Secret, client.Name, client.WebSite, client.Email, client.Enabled, client.Paid)
suc, id := tx.Insert(insertClient, a...)
if suc && id > 0 {
succ, id := tx.Insert(insertClient, a...)
if succ && id > 0 {
if uris != nil && len(*uris) > 0 {
for _, u := range *uris {
var au []interface{}
au = append(au, u.URI, id)

u.ClientID = id
rsus, rid := tx.Insert(insertRedirectURI, au...)
if !rsus || rid <= 0 {
Expand All @@ -56,6 +55,7 @@ func (d *MySQLOauthDB) AddClient(client *odb.Client, uris *[]odb.ClientRedirectU
tx.Rollback()
}
if !fail {
suc = true
tx.Commit()
}
return suc, id
Expand Down Expand Up @@ -92,6 +92,30 @@ func (d *MySQLOauthDB) SearchClients(name string) *[]odb.Client {
//DeleteClient DeleteClient
func (d *MySQLOauthDB) DeleteClient(clientID int64) bool {
var suc = false
if !d.testConnection() {
d.DB.Connect()
}
var fail = false
tx := d.DB.BeginTransaction()
var au []interface{}
au = append(au, clientID)
usuc := tx.Delete(deleteAllRedirectURI, au...)
if usuc {
var a []interface{}
a = append(a, clientID)
sucu := tx.Delete(deleteClient, a...)
if !sucu {
fail = true
tx.Rollback()
}
} else {
fail = true
tx.Rollback()
}
if !fail {
suc = true
tx.Commit()
}

return suc
}
11 changes: 11 additions & 0 deletions mysqldb/client_test.go → mysqldb/client_integration_test.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// +build integration

package mysqldb

import (
Expand All @@ -11,6 +13,7 @@ import (

var dbb db.Database
var odbb odb.Oauth2DB
var cid int64

func TestMySQLDB_Connect(t *testing.T) {

Expand Down Expand Up @@ -68,9 +71,17 @@ func TestMySQLDB_AddClient(t *testing.T) {

fmt.Println("before db add")
res, id := odbb.AddClient(&c, &uis)
cid = id
fmt.Println("res: ", res)
fmt.Println("id: ", id)
if !res || id == 0 {
t.Fail()
}
}

func TestMySQLDB_DeleteClient(t *testing.T) {
suc := odbb.DeleteClient(cid)
if !suc {
t.Fail()
}
}
23 changes: 0 additions & 23 deletions mysqldb/coverage.out
Original file line number Diff line number Diff line change
@@ -1,24 +1 @@
mode: set
github.com/Ulbora/GoAuth2/mysqldb/client.go:28.99,31.25 2 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:34.2,39.19 6 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:58.2,58.11 1 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:61.2,61.16 1 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:31.25,33.3 1 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:39.19,40.36 1 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:40.36,41.28 1 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:41.28,47.26 5 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:47.26,50.11 3 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:54.8,57.3 2 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:58.11,60.3 1 1
github.com/Ulbora/GoAuth2/mysqldb/client.go:65.62,69.2 2 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:72.62,76.2 2 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:79.51,83.2 2 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:86.65,90.2 2 0
github.com/Ulbora/GoAuth2/mysqldb/client.go:93.58,97.2 2 0
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:33.46,40.26 7 1
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:52.2,52.12 1 1
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:40.26,45.17 3 1
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:48.3,48.20 1 1
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:45.17,47.4 1 0
github.com/Ulbora/GoAuth2/mysqldb/oauthDb.go:48.20,50.4 1 1
github.com/Ulbora/GoAuth2/mysqldb/redirectUri.go:28.86,33.2 3 0
4 changes: 3 additions & 1 deletion mysqldb/queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ package mysqldb
const (
oauthTest = "select count(*) from client "
insertClient = "insert into client (secret, name, web_site, email, enabled, paid) values(?, ?, ?, ?, ?, ?)"
deleteClient = "DELETE FROM client WHERE client_id = ? "

insertRedirectURI = "INSERT INTO client_redirect_uri (uri, client_id) values(?, ?)"
insertRedirectURI = "INSERT INTO client_redirect_uri (uri, client_id) values(?, ?)"
deleteAllRedirectURI = "DELETE FROM client_redirect_uri WHERE client_id = ? "
)
1 change: 1 addition & 0 deletions mysqldb/runinttest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
go test -tags=integration

0 comments on commit f42cc45

Please sign in to comment.