Upgrade to Go 1.7 (#128)

* Upgrade to stdlib context package
* Modernized syntax
This commit is contained in:
C Cirello
2016-10-06 20:10:00 +02:00
committed by Seif Lotfy سيف لطفي
parent e90a109ed5
commit 3ca137a01c
27 changed files with 40 additions and 56 deletions

View File

@@ -1,8 +1,9 @@
package ifaces package ifaces
import ( import (
"context"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"golang.org/x/net/context"
) )
type AppListener interface { type AppListener interface {

View File

@@ -1,8 +1,6 @@
package models package models
import ( import "context"
"golang.org/x/net/context"
)
// Titan uses a Message Queue to impose a total ordering on jobs that it will // Titan uses a Message Queue to impose a total ordering on jobs that it will
// execute in order. Tasks are added to the queue via the Push() interface. The // execute in order. Tasks are added to the queue via the Push() interface. The

View File

@@ -1,6 +1,7 @@
package mqs package mqs
import ( import (
"context"
"encoding/binary" "encoding/binary"
"encoding/json" "encoding/json"
"errors" "errors"
@@ -14,7 +15,6 @@ import (
"github.com/boltdb/bolt" "github.com/boltdb/bolt"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"golang.org/x/net/context"
) )
type BoltDbMQ struct { type BoltDbMQ struct {
@@ -104,7 +104,7 @@ func NewBoltMQ(url *url.URL) (*BoltDbMQ, error) {
func (mq *BoltDbMQ) Start() { func (mq *BoltDbMQ) Start() {
go func() { go func() {
// It would be nice to switch to a tick-less, next-event Timer based model. // It would be nice to switch to a tick-less, next-event Timer based model.
for _ = range mq.ticker.C { for range mq.ticker.C {
err := mq.db.Update(func(tx *bolt.Tx) error { err := mq.db.Update(func(tx *bolt.Tx) error {
now := uint64(time.Now().UnixNano()) now := uint64(time.Now().UnixNano())
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {

View File

@@ -1,6 +1,7 @@
package mqs package mqs
import ( import (
"context"
"errors" "errors"
"math/rand" "math/rand"
"sync" "sync"
@@ -10,7 +11,6 @@ import (
"github.com/google/btree" "github.com/google/btree"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"golang.org/x/net/context"
) )
type MemoryMQ struct { type MemoryMQ struct {
@@ -59,7 +59,7 @@ func NewMemoryMQ() *MemoryMQ {
func (mq *MemoryMQ) start() { func (mq *MemoryMQ) start() {
// start goroutine to check for delayed jobs and put them onto regular queue when ready // start goroutine to check for delayed jobs and put them onto regular queue when ready
go func() { go func() {
for _ = range mq.Ticker.C { for range mq.Ticker.C {
ji := &TaskItem{ ji := &TaskItem{
StartAt: time.Now(), StartAt: time.Now(),
} }
@@ -80,7 +80,7 @@ func (mq *MemoryMQ) start() {
// start goroutine to check for messages that have timed out and put them back onto regular queue // start goroutine to check for messages that have timed out and put them back onto regular queue
// TODO: this should be like the delayed messages above. Could even be the same thing as delayed messages, but remove them if job is completed. // TODO: this should be like the delayed messages above. Could even be the same thing as delayed messages, but remove them if job is completed.
go func() { go func() {
for _ = range mq.Ticker.C { for range mq.Ticker.C {
ji := &TaskItem{ ji := &TaskItem{
StartAt: time.Now(), StartAt: time.Now(),
} }

View File

@@ -1,8 +1,9 @@
package mqs package mqs
import ( import (
"context"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"golang.org/x/net/context"
) )
type Mock struct { type Mock struct {

View File

@@ -1,6 +1,7 @@
package mqs package mqs
import ( import (
"context"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
@@ -12,7 +13,6 @@ import (
"github.com/garyburd/redigo/redis" "github.com/garyburd/redigo/redis"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"golang.org/x/net/context"
) )
type RedisMQ struct { type RedisMQ struct {
@@ -162,7 +162,7 @@ func (mq *RedisMQ) start() {
logrus.WithError(err).Fatal("Could not start redis MQ reservation system") logrus.WithError(err).Fatal("Could not start redis MQ reservation system")
} }
for _ = range mq.ticker.C { for range mq.ticker.C {
mq.processPendingReservations(conn) mq.processPendingReservations(conn)
mq.processDelayedTasks(conn) mq.processDelayedTasks(conn)
} }

View File

@@ -2,6 +2,7 @@ package runner
import ( import (
"bytes" "bytes"
"context"
"encoding/json" "encoding/json"
"errors" "errors"
"io/ioutil" "io/ioutil"
@@ -13,7 +14,6 @@ import (
log "github.com/Sirupsen/logrus" log "github.com/Sirupsen/logrus"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"golang.org/x/net/context"
) )
func getTask(url string) (*models.Task, error) { func getTask(url string) (*models.Task, error) {

View File

@@ -1,6 +1,7 @@
package runner package runner
import ( import (
"context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
@@ -15,7 +16,6 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/functions/api/mqs" "github.com/iron-io/functions/api/mqs"
"golang.org/x/net/context"
) )
func getMockTask() models.Task { func getMockTask() models.Task {
@@ -97,7 +97,7 @@ func TestGetTask(t *testing.T) {
func TestGetTaskError(t *testing.T) { func TestGetTaskError(t *testing.T) {
tests := []map[string]interface{}{ tests := []map[string]interface{}{
map[string]interface{}{ {
"url": "/invalid", "url": "/invalid",
"task": getMockTask(), "task": getMockTask(),
"error": "invalid character 'p' after top-level value", "error": "invalid character 'p' after top-level value",

View File

@@ -1,11 +1,11 @@
package runner package runner
import ( import (
"context"
"time" "time"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"golang.org/x/net/context"
) )
type Logger interface { type Logger interface {

View File

@@ -2,6 +2,7 @@ package runner
import ( import (
"bufio" "bufio"
"context"
"errors" "errors"
"fmt" "fmt"
"io" "io"
@@ -12,8 +13,6 @@ import (
"sync" "sync"
"time" "time"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"github.com/iron-io/runner/drivers" "github.com/iron-io/runner/drivers"

View File

@@ -2,12 +2,12 @@ package runner
import ( import (
"bytes" "bytes"
"context"
"fmt" "fmt"
"testing" "testing"
"time" "time"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"golang.org/x/net/context"
) )
func TestRunnerHello(t *testing.T) { func TestRunnerHello(t *testing.T) {

View File

@@ -1,10 +1,9 @@
package runner package runner
import ( import (
"context"
"io" "io"
"golang.org/x/net/context"
dockercli "github.com/fsouza/go-dockerclient" dockercli "github.com/fsouza/go-dockerclient"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"
"github.com/iron-io/runner/drivers" "github.com/iron-io/runner/drivers"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,6 +1,7 @@
package server package server
import ( import (
"context"
"encoding/json" "encoding/json"
"io" "io"
"io/ioutil" "io/ioutil"
@@ -8,8 +9,6 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/functions/api/runner" "github.com/iron-io/functions/api/runner"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/functions/api/runner" "github.com/iron-io/functions/api/runner"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"

View File

@@ -1,10 +1,9 @@
package server package server
import ( import (
"context"
"net/http" "net/http"
"golang.org/x/net/context"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"
"github.com/iron-io/runner/common" "github.com/iron-io/runner/common"

View File

@@ -2,16 +2,14 @@ package server
import ( import (
"bytes" "bytes"
"context"
"encoding/json"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"strings" "strings"
"time" "time"
"golang.org/x/net/context"
"encoding/json"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/models" "github.com/iron-io/functions/api/models"

View File

@@ -97,8 +97,8 @@ func TestRouteRunnerExecution(t *testing.T) {
{Name: "myapp", Config: models.Config{}}, {Name: "myapp", Config: models.Config{}},
}, },
FakeRoutes: []*models.Route{ FakeRoutes: []*models.Route{
{Path: "/myroute", AppName: "myapp", Image: "iron/hello", Headers: map[string][]string{"X-Function": []string{"Test"}}}, {Path: "/myroute", AppName: "myapp", Image: "iron/hello", Headers: map[string][]string{"X-Function": {"Test"}}},
{Path: "/myerror", AppName: "myapp", Image: "iron/error", Headers: map[string][]string{"X-Function": []string{"Test"}}}, {Path: "/myerror", AppName: "myapp", Image: "iron/error", Headers: map[string][]string{"X-Function": {"Test"}}},
}, },
}, &mqs.Mock{}, testRunner(t)) }, &mqs.Mock{}, testRunner(t))
router := testRouter() router := testRouter()
@@ -109,12 +109,12 @@ func TestRouteRunnerExecution(t *testing.T) {
expectedCode int expectedCode int
expectedHeaders map[string][]string expectedHeaders map[string][]string
}{ }{
{"/r/myapp/myroute", ``, http.StatusOK, map[string][]string{"X-Function": []string{"Test"}}}, {"/r/myapp/myroute", ``, http.StatusOK, map[string][]string{"X-Function": {"Test"}}},
{"/r/myapp/myerror", ``, http.StatusInternalServerError, map[string][]string{"X-Function": []string{"Test"}}}, {"/r/myapp/myerror", ``, http.StatusInternalServerError, map[string][]string{"X-Function": {"Test"}}},
// Added same tests again to check if time is reduced by the auth cache // Added same tests again to check if time is reduced by the auth cache
{"/r/myapp/myroute", ``, http.StatusOK, map[string][]string{"X-Function": []string{"Test"}}}, {"/r/myapp/myroute", ``, http.StatusOK, map[string][]string{"X-Function": {"Test"}}},
{"/r/myapp/myerror", ``, http.StatusInternalServerError, map[string][]string{"X-Function": []string{"Test"}}}, {"/r/myapp/myerror", ``, http.StatusInternalServerError, map[string][]string{"X-Function": {"Test"}}},
} { } {
body := bytes.NewBuffer([]byte(test.body)) body := bytes.NewBuffer([]byte(test.body))
_, rec := routerRequest(t, router, "GET", test.path, body) _, rec := routerRequest(t, router, "GET", test.path, body)

View File

@@ -1,13 +1,12 @@
package server package server
import ( import (
"context"
"encoding/json" "encoding/json"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"path" "path"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/iron-io/functions/api/ifaces" "github.com/iron-io/functions/api/ifaces"

View File

@@ -1,6 +1,7 @@
package main package main
import ( import (
"context"
"fmt" "fmt"
"os" "os"
"os/signal" "os/signal"
@@ -13,7 +14,6 @@ import (
"github.com/iron-io/functions/api/runner" "github.com/iron-io/functions/api/runner"
"github.com/iron-io/functions/api/server" "github.com/iron-io/functions/api/server"
"github.com/spf13/viper" "github.com/spf13/viper"
"golang.org/x/net/context"
) )
const ( const (