move to v4

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2023-04-11 22:20:37 +03:00
parent 1d5e795443
commit ebd8ddf05b
122 changed files with 426 additions and 317 deletions

View File

@@ -1,4 +1,4 @@
package addr // import "go.unistack.org/micro/v3/util/addr"
package addr // import "go.unistack.org/micro/v4/util/addr"
import (
"fmt"

View File

@@ -1,5 +1,5 @@
// Package backoff provides backoff functionality
package backoff // import "go.unistack.org/micro/v3/util/backoff"
package backoff // import "go.unistack.org/micro/v4/util/backoff"
import (
"math"

View File

@@ -1,4 +1,4 @@
package buf // import "go.unistack.org/micro/v3/util/buf"
package buf // import "go.unistack.org/micro/v4/util/buf"
import (
"bytes"

View File

@@ -1,4 +1,4 @@
package http // import "go.unistack.org/micro/v3/util/http"
package http // import "go.unistack.org/micro/v4/util/http"
import (
"context"
@@ -8,8 +8,8 @@ import (
"net/http"
"strings"
"go.unistack.org/micro/v3/metadata"
"go.unistack.org/micro/v3/selector/random"
"go.unistack.org/micro/v4/metadata"
"go.unistack.org/micro/v4/selector/random"
)
// Write sets the status and body on a http ResponseWriter

View File

@@ -9,10 +9,10 @@ import (
"net/http"
"testing"
"go.unistack.org/micro/v3/register"
"go.unistack.org/micro/v3/register/memory"
"go.unistack.org/micro/v3/router"
regRouter "go.unistack.org/micro/v3/router/register"
"go.unistack.org/micro/v4/register"
"go.unistack.org/micro/v4/register/memory"
"go.unistack.org/micro/v4/router"
regRouter "go.unistack.org/micro/v4/router/register"
)
func TestRoundTripper(t *testing.T) {

View File

@@ -1,6 +1,6 @@
package http
import "go.unistack.org/micro/v3/router"
import "go.unistack.org/micro/v4/router"
// Options struct
type Options struct {

View File

@@ -4,8 +4,8 @@ import (
"errors"
"net/http"
"go.unistack.org/micro/v3/router"
"go.unistack.org/micro/v3/selector"
"go.unistack.org/micro/v4/router"
"go.unistack.org/micro/v4/selector"
)
type roundTripper struct {

View File

@@ -1,4 +1,4 @@
package id // import "go.unistack.org/micro/v3/util/id"
package id // import "go.unistack.org/micro/v4/util/id"
import (
"context"
@@ -6,7 +6,7 @@ import (
"errors"
"math"
"go.unistack.org/micro/v3/logger"
"go.unistack.org/micro/v4/logger"
)
// DefaultAlphabet is the alphabet used for ID characters by default

View File

@@ -1,10 +1,10 @@
// Package io is for io management
package io // import "go.unistack.org/micro/v3/util/io"
package io // import "go.unistack.org/micro/v4/util/io"
import (
"io"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v4/network/transport"
)
type rwc struct {

View File

@@ -1,10 +1,10 @@
// Package jitter provides a random jitter
package jitter // import "go.unistack.org/micro/v3/util/jitter"
package jitter // import "go.unistack.org/micro/v4/util/jitter"
import (
"time"
"go.unistack.org/micro/v3/util/rand"
"go.unistack.org/micro/v4/util/rand"
)
// Random returns a random time to jitter with max cap specified

View File

@@ -1,10 +1,10 @@
package jitter // import "go.unistack.org/micro/v3/util/jitter"
package jitter // import "go.unistack.org/micro/v4/util/jitter"
import (
"context"
"time"
"go.unistack.org/micro/v3/util/rand"
"go.unistack.org/micro/v4/util/rand"
)
// Ticker is similar to time.Ticker but ticks at random intervals between

View File

@@ -1,4 +1,4 @@
package net // import "go.unistack.org/micro/v3/util/net"
package net // import "go.unistack.org/micro/v4/util/net"
import (
"errors"

View File

@@ -1,6 +1,6 @@
// Package pki provides PKI all the PKI functions necessary to run micro over an untrusted network
// including a CA
package pki // import "go.unistack.org/micro/v3/util/pki"
package pki // import "go.unistack.org/micro/v4/util/pki"
import (
"bytes"

View File

@@ -5,8 +5,8 @@ import (
"sync"
"time"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v3/util/id"
"go.unistack.org/micro/v4/network/transport"
"go.unistack.org/micro/v4/util/id"
)
type pool struct {

View File

@@ -7,8 +7,8 @@ import (
"testing"
"time"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v3/network/transport/memory"
"go.unistack.org/micro/v4/network/transport"
"go.unistack.org/micro/v4/network/transport/memory"
)
func testPool(t *testing.T, size int, ttl time.Duration) {

View File

@@ -3,7 +3,7 @@ package pool
import (
"time"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v4/network/transport"
)
// Options struct

View File

@@ -1,11 +1,11 @@
// Package pool is a connection pool
package pool // import "go.unistack.org/micro/v3/util/pool"
package pool // import "go.unistack.org/micro/v4/util/pool"
import (
"context"
"time"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v4/network/transport"
)
// Pool is an interface for connection pooling

View File

@@ -1,4 +1,4 @@
package rand // import "go.unistack.org/micro/v3/util/rand"
package rand // import "go.unistack.org/micro/v4/util/rand"
import (
crand "crypto/rand"

View File

@@ -1,4 +1,4 @@
package reflect // import "go.unistack.org/micro/v3/util/reflect"
package reflect // import "go.unistack.org/micro/v4/util/reflect"
import (
"errors"

View File

@@ -6,7 +6,7 @@ import (
"testing"
"time"
rutil "go.unistack.org/micro/v3/util/reflect"
rutil "go.unistack.org/micro/v4/util/reflect"
)
func TestStructFields(t *testing.T) {

View File

@@ -1,11 +1,11 @@
package register // import "go.unistack.org/micro/v3/util/register"
package register // import "go.unistack.org/micro/v4/util/register"
import (
"context"
"time"
"go.unistack.org/micro/v3/register"
jitter "go.unistack.org/micro/v3/util/jitter"
"go.unistack.org/micro/v4/register"
jitter "go.unistack.org/micro/v4/util/jitter"
)
func addNodes(old, neu []*register.Node) []*register.Node {

View File

@@ -4,7 +4,7 @@ import (
"os"
"testing"
"go.unistack.org/micro/v3/register"
"go.unistack.org/micro/v4/register"
)
func TestRemove(t *testing.T) {

View File

@@ -1,11 +1,11 @@
// Package ring provides a simple ring buffer for storing local data
package ring // import "go.unistack.org/micro/v3/util/ring"
package ring // import "go.unistack.org/micro/v4/util/ring"
import (
"sync"
"time"
"go.unistack.org/micro/v3/util/id"
"go.unistack.org/micro/v4/util/id"
)
// Buffer is ring buffer

View File

@@ -1,10 +1,10 @@
// Package socket provides a pseudo socket
package socket // import "go.unistack.org/micro/v3/util/socket"
package socket // import "go.unistack.org/micro/v4/util/socket"
import (
"io"
"go.unistack.org/micro/v3/network/transport"
"go.unistack.org/micro/v4/network/transport"
)
// Socket is our pseudo socket for transport.Socket

View File

@@ -1,14 +1,14 @@
// Package stream encapsulates streams within streams
package stream // import "go.unistack.org/micro/v3/util/stream"
package stream // import "go.unistack.org/micro/v4/util/stream"
import (
"context"
"sync"
"go.unistack.org/micro/v3/client"
"go.unistack.org/micro/v3/codec"
"go.unistack.org/micro/v3/metadata"
"go.unistack.org/micro/v3/server"
"go.unistack.org/micro/v4/client"
"go.unistack.org/micro/v4/codec"
"go.unistack.org/micro/v4/metadata"
"go.unistack.org/micro/v4/server"
)
// Stream interface

25
util/test/sqlmock_test.go Normal file
View File

@@ -0,0 +1,25 @@
package test
import (
"fmt"
"strings"
"testing"
"github.com/DATA-DOG/go-sqlmock"
)
func Test_NewSQLRowsFromFile(t *testing.T) {
db, c, err := sqlmock.New()
if err != nil {
t.Fatal(err)
}
defer db.Close()
rows, err := NewSQLRowsFromFile(c, "testdata/Call.csv")
if err != nil {
t.Fatal(err)
}
if !strings.Contains(fmt.Sprintf("%#+v", rows), `cols:[]string{"DepAgrId", "DepAgrNum", "DepAgrDate", "DepAgrCloseDate", "AccCur", "MainFinaccNum", "MainFinaccName", "MainFinaccId", "MainFinaccOpenDt", "DepAgrStatus", "MainFinaccBal", "DepartCode", "CardAccId"}`) {
t.Fatal("invalid cols after import csv")
}
}

81
util/test/test.go Normal file
View File

@@ -0,0 +1,81 @@
package test
import (
"encoding/csv"
"errors"
"os"
"path"
"strings"
"github.com/DATA-DOG/go-sqlmock"
"go.unistack.org/micro/v4/client"
"go.unistack.org/micro/v4/codec"
)
var ErrUnknownContentType = errors.New("unknown content type")
type Extension struct {
Ext []string
}
var ExtToTypes = map[string][]string{
"json": {"application/json", "application/grpc+json"},
"yaml": {"application/yaml", "application/yml", "text/yaml", "text/yml"},
"yml": {"application/yaml", "application/yml", "text/yaml", "text/yml"},
"proto": {"application/grpc", "application/grpc+proto", "application/proto"},
}
func NewRequestFromFile(c client.Client, reqfile string) (client.Request, error) {
reqbuf, err := os.ReadFile(reqfile)
if err != nil {
return nil, err
}
endpoint := path.Base(path.Dir(reqfile))
ext := path.Ext(reqfile)
if len(ext) > 0 && ext[0] == '.' {
ext = ext[1:]
}
var ct string
if cts, ok := ExtToTypes[ext]; ok {
for _, t := range cts {
if _, ok = c.Options().Codecs[t]; ok {
ct = t
break
}
}
}
if ct == "" {
return nil, ErrUnknownContentType
}
req := c.NewRequest("test", endpoint, &codec.Frame{Data: reqbuf}, client.RequestContentType(ct))
return req, nil
}
func NewSQLRowsFromFile(c sqlmock.Sqlmock, file string) (*sqlmock.Rows, error) {
fp, err := os.Open(file)
if err != nil {
return nil, err
}
defer fp.Close()
r := csv.NewReader(fp)
r.Comma = '\t'
r.Comment = '#'
records, err := r.ReadAll()
if err != nil {
return nil, err
}
rows := c.NewRows(records[0])
for idx := 1; idx < len(records); idx++ {
rows.FromCSVString(strings.Join(records[idx], ";"))
}
return rows, nil
}