bump go version #2
20
cmd/main.go
20
cmd/main.go
@ -4,10 +4,9 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/tiburon-777/w3back/internal/scenario"
|
||||
"github.com/tiburon-777/api-crowler/internal/config"
|
||||
"github.com/tiburon-777/api-crowler/internal/scenario"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
@ -15,21 +14,18 @@ import (
|
||||
|
||||
func main() {
|
||||
// Парсим флаги приложения.
|
||||
file := flag.String("scenario", "./test/test.yaml", "path to file with test scenario")
|
||||
flag.Parse()
|
||||
ctx := context.Background()
|
||||
|
||||
// Читаем файл сценария.
|
||||
sc, err := scenario.New(ctx, *file)
|
||||
conf, err := config.Get()
|
||||
if err != nil {
|
||||
log.Fatalf("can't understand test scenario: %v ", err)
|
||||
log.Fatalf("invalid config: %v ", err)
|
||||
}
|
||||
|
||||
// Валидируем сценарий
|
||||
if err := validator.New().Struct(sc); err != nil {
|
||||
// Читаем файл сценария.
|
||||
sc, err := scenario.Get(conf.Scenario)
|
||||
if err != nil {
|
||||
log.Fatalf("invalid scenario: %v ", err)
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
cli := http.Client{Timeout: sc.Params.Timeout}
|
||||
|
||||
// Запускаем сценарий
|
||||
|
2
go.mod
2
go.mod
@ -1,4 +1,4 @@
|
||||
module github.com/tiburon-777/w3back
|
||||
module github.com/tiburon-777/api-crowler
|
||||
|
||||
go 1.18
|
||||
|
||||
|
22
internal/config/config.go
Normal file
22
internal/config/config.go
Normal file
@ -0,0 +1,22 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"github.com/go-playground/validator/v10"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
Scenario string `validate:"required"`
|
||||
}
|
||||
|
||||
func Get() (*Config, error) {
|
||||
conf := &Config{}
|
||||
flag.StringVar(&conf.Scenario, "scenario", "", "URL base")
|
||||
flag.Parse()
|
||||
|
||||
// Валидируем параметры
|
||||
if err := validator.New().Struct(conf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return conf, nil
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package scenario
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"gopkg.in/yaml.v2"
|
||||
"os"
|
||||
)
|
||||
|
||||
func New(ctx context.Context, file string) (*Object, error) {
|
||||
func Get(file string) (*Object, error) {
|
||||
var obj Object
|
||||
yamlFile, err := os.ReadFile(file)
|
||||
if err != nil {
|
||||
@ -17,5 +17,9 @@ func New(ctx context.Context, file string) (*Object, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := validator.New().Struct(obj); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &obj, nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user