Make ReqID and Priority types implement Stringer 13/183813/2 docker ui
authorMaciej Wereski <m.wereski@partner.samsung.com>
Tue, 3 Jul 2018 10:41:27 +0000 (12:41 +0200)
committerMaciej Wereski <m.wereski@partner.samsung.com>
Wed, 11 Jul 2018 14:29:42 +0000 (16:29 +0200)
Change-Id: I3b8e271e38f8b13fa43ded590e1f31c09922bf5d
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
boruta.go
http/client/client.go
http/filter.go
http/filter_test.go
requests/requests_test.go

index 438aa36..19bfee8 100644 (file)
--- a/boruta.go
+++ b/boruta.go
@@ -27,6 +27,7 @@ package boruta
 import (
        "crypto/rsa"
        "net"
+       "strconv"
        "time"
 )
 
@@ -78,9 +79,21 @@ func (caps Capabilities) GetWorkerUUID() WorkerUUID {
 // ReqID refers to the Request created by the User.
 type ReqID uint64
 
+// String returns string representation of ReqID. This is implementation of
+// fmt.Stringer interface.
+func (id ReqID) String() string {
+       return strconv.FormatUint(uint64(id), 10)
+}
+
 // Priority is the importance of the Request. Lower - more important.
 type Priority uint8
 
+// String returns string representation of Priority. This is implementation of
+// fmt.Stringer interface.
+func (p Priority) String() string {
+       return strconv.FormatUint(uint64(p), 10)
+}
+
 const (
        // HiPrio - most important priority (minimum value).
        HiPrio Priority = 1
index 20c79eb..581dc4f 100644 (file)
@@ -31,7 +31,6 @@ import (
        "io/ioutil"
        "net/http"
        "reflect"
-       "strconv"
        "time"
 
        "git.tizen.org/tools/boruta"
@@ -195,7 +194,7 @@ func (client *BorutaClient) NewRequest(caps boruta.Capabilities,
 
 // CloseRequest closes or cancels Boruta request.
 func (client *BorutaClient) CloseRequest(reqID boruta.ReqID) error {
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID)) + "/close"
+       path := client.url + "reqs/" + reqID.String() + "/close"
        resp, err := http.Post(path, "", nil)
        if err != nil {
                return err
@@ -221,7 +220,7 @@ func (client *BorutaClient) UpdateRequest(reqInfo *boruta.ReqInfo) error {
        if err != nil {
                return err
        }
-       path := client.url + "reqs/" + strconv.Itoa(int(reqInfo.ID))
+       path := client.url + "reqs/" + reqInfo.ID.String()
        resp, err := http.Post(path, contentType, bytes.NewReader(req))
        if err != nil {
                return err
@@ -232,7 +231,7 @@ func (client *BorutaClient) UpdateRequest(reqInfo *boruta.ReqInfo) error {
 // GetRequestInfo queries Boruta server for details about given request ID.
 func (client *BorutaClient) GetRequestInfo(reqID boruta.ReqID) (boruta.ReqInfo, error) {
        var reqInfo boruta.ReqInfo
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID))
+       path := client.url + "reqs/" + reqID.String()
        resp, err := http.Get(path)
        if err != nil {
                return reqInfo, err
@@ -263,7 +262,7 @@ func (client *BorutaClient) ListRequests(filter boruta.ListFilter) ([]boruta.Req
 // is issued because requests need to have assigned worker.
 func (client *BorutaClient) AcquireWorker(reqID boruta.ReqID) (boruta.AccessInfo, error) {
        var accInfo boruta.AccessInfo
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID)) + "/acquire_worker"
+       path := client.url + "reqs/" + reqID.String() + "/acquire_worker"
        resp, err := http.Post(path, "", nil)
        if err != nil {
                return accInfo, err
@@ -291,7 +290,7 @@ func (client *BorutaClient) AcquireWorker(reqID boruta.ReqID) (boruta.AccessInfo
 // If not called, Boruta server will terminate the tunnel when ReqInfo.Job.Timeout
 // passes, and change state of request to CLOSED.
 func (client *BorutaClient) ProlongAccess(reqID boruta.ReqID) error {
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID)) + "/prolong"
+       path := client.url + "reqs/" + reqID.String() + "/prolong"
        resp, err := http.Post(path, "", nil)
        if err != nil {
                return err
@@ -380,7 +379,7 @@ func (client *BorutaClient) Deregister(uuid boruta.WorkerUUID) error {
 // should always check for an error before proceeding with actions dependent on
 // request state.
 func (client *BorutaClient) GetRequestState(reqID boruta.ReqID) (boruta.ReqState, error) {
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID))
+       path := client.url + "reqs/" + reqID.String()
        headers, err := getHeaders(path)
        if err != nil {
                return boruta.FAILED, err
@@ -402,7 +401,7 @@ func (client *BorutaClient) GetWorkerState(uuid boruta.WorkerUUID) (boruta.Worke
 // reqID will timeout. The request must be in INPROGRESS state.
 func (client *BorutaClient) GetJobTimeout(reqID boruta.ReqID) (time.Time, error) {
        var t time.Time
-       path := client.url + "reqs/" + strconv.Itoa(int(reqID))
+       path := client.url + "reqs/" + reqID.String()
        headers, err := getHeaders(path)
        if err != nil {
                return t, err
index 895dc39..bca0b4d 100644 (file)
@@ -19,7 +19,6 @@
 package http
 
 import (
-       "strconv"
        "strings"
 
        . "git.tizen.org/tools/boruta"
@@ -62,7 +61,7 @@ func (filter *RequestFilter) Match(req *ReqInfo) bool {
                return false
        }
 
-       priority := strconv.FormatUint(uint64(req.Priority), 10)
+       priority := req.Priority.String()
        if filter.Priority != "" && priority != filter.Priority {
                return false
        }
index f367943..c9f6c20 100644 (file)
@@ -19,7 +19,6 @@
 package http
 
 import (
-       "strconv"
        "testing"
 
        . "git.tizen.org/tools/boruta"
@@ -29,7 +28,7 @@ import (
 func TestNewRequestFilter(t *testing.T) {
        assert := assert.New(t)
        state := string(WAIT)
-       priority := strconv.FormatUint(uint64(HiPrio), 10)
+       priority := HiPrio.String()
        filter := &RequestFilter{
                State:    state,
                Priority: priority,
@@ -68,11 +67,11 @@ func TestMatch(t *testing.T) {
                result   bool
        }{
                {
-                       priority: strconv.FormatUint(uint64(req.Priority), 10),
+                       priority: req.Priority.String(),
                        result:   true,
                },
                {
-                       priority: strconv.FormatUint(uint64(req.Priority+1), 10),
+                       priority: (req.Priority + 1).String(),
                        result:   false,
                },
                {
index 3dcb708..993d2c2 100644 (file)
@@ -19,7 +19,6 @@ package requests
 import (
        "errors"
        "net"
-       "strconv"
        "testing"
        "time"
 
@@ -332,7 +331,7 @@ func (filter *reqFilter) Match(req *ReqInfo) bool {
                return false
        }
 
-       priority := strconv.FormatUint(uint64(req.Priority), 10)
+       priority := req.Priority.String()
        if filter.priority != "" && priority != filter.priority {
                return false
        }
@@ -374,42 +373,42 @@ func TestListRequests(t *testing.T) {
                {
                        filter: reqFilter{
                                state:    string(WAIT),
-                               priority: strconv.FormatUint(uint64(req.Priority), 10),
+                               priority: req.Priority.String(),
                        },
                        result: map[ReqID]bool{ReqID(1): true},
                },
                {
                        filter: reqFilter{
                                state:    string(WAIT),
-                               priority: strconv.FormatUint(uint64(req.Priority+1), 10),
+                               priority: (req.Priority + 1).String(),
                        },
                        result: map[ReqID]bool{ReqID(2): true},
                },
                {
                        filter: reqFilter{
                                state:    string(DONE),
-                               priority: strconv.FormatUint(uint64(req.Priority), 10),
+                               priority: req.Priority.String(),
                        },
                        result: map[ReqID]bool{ReqID(3): true},
                },
                {
                        filter: reqFilter{
                                state:    string(DONE),
-                               priority: strconv.FormatUint(uint64(req.Priority+1), 10),
+                               priority: (req.Priority + 1).String(),
                        },
                        result: map[ReqID]bool{ReqID(4): true},
                },
                {
                        filter: reqFilter{
                                state:    "",
-                               priority: strconv.FormatUint(uint64(req.Priority), 10),
+                               priority: req.Priority.String(),
                        },
                        result: map[ReqID]bool{ReqID(1): true, ReqID(3): true},
                },
                {
                        filter: reqFilter{
                                state:    "",
-                               priority: strconv.FormatUint(uint64(req.Priority+1), 10),
+                               priority: (req.Priority + 1).String(),
                        },
                        result: map[ReqID]bool{ReqID(2): true, ReqID(4): true},
                },
@@ -437,21 +436,21 @@ func TestListRequests(t *testing.T) {
                {
                        filter: reqFilter{
                                state:    string(notFoundState),
-                               priority: strconv.FormatUint(uint64(notFoundPrio), 10),
+                               priority: notFoundPrio.String(),
                        },
                        result: noReqs,
                },
                {
                        filter: reqFilter{
                                state:    string(WAIT),
-                               priority: strconv.FormatUint(uint64(notFoundPrio), 10),
+                               priority: notFoundPrio.String(),
                        },
                        result: noReqs,
                },
                {
                        filter: reqFilter{
                                state:    string(notFoundState),
-                               priority: strconv.FormatUint(uint64(req.Priority), 10),
+                               priority: req.Priority.String(),
                        },
                        result: noReqs,
                },