Compare commits

..

No commits in common. 'main' and 'v1.0.7' have entirely different histories.
main ... v1.0.7

@ -5,10 +5,7 @@ go 1.21.0
require (
github.com/go-sql-driver/mysql v1.7.1
github.com/jmoiron/sqlx v1.3.5
github.com/kataras/golog v0.1.11
github.com/kataras/pio v0.0.13
)
require (
github.com/kataras/pio v0.0.13 // indirect
golang.org/x/sys v0.13.0 // indirect
)
require golang.org/x/sys v0.13.0 // indirect

@ -3,8 +3,6 @@ github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrt
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
github.com/kataras/golog v0.1.11 h1:dGkcCVsIpqiAMWTlebn/ZULHxFvfG4K43LF1cNWSh20=
github.com/kataras/golog v0.1.11/go.mod h1:mAkt1vbPowFUuUGvexyQ5NFW6djEgGyxQBIARJ0AH4A=
github.com/kataras/pio v0.0.13 h1:x0rXVX0fviDTXOOLOmr4MUxOabu1InVSTu5itF8CXCM=
github.com/kataras/pio v0.0.13/go.mod h1:k3HNuSw+eJ8Pm2lA4lRhg3DiCjVgHlP8hmXApSej3oM=
github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=

@ -1,24 +1,25 @@
package seaweed
/***
Пакет seaweed предназначен для облегчения работы с БД sea
и weed.
Текущая версия: v1.0.8
Текущая версия: v1.0.6
***/
package seaweed
import (
"errors"
"fmt"
"os"
"fmt"
"errors"
"flag"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
// "github.com/kataras/pio"
"github.com/kataras/golog"
"github.com/kataras/pio"
)
const VERSION = "v1.0.8"
// глобальная переменная для логирования
var p = pio.NewTextPrinter("color", os.Stdout)
// ============= SEA ============
@ -27,22 +28,18 @@ type Sea struct {
debug bool
}
// Окрывает БД sea, соединяется с weed.
// Если options = true, то будут выводиться отладочные сообщения
func Connect(options ...bool) (*Sea, error) {
debug := false
if len(options) > 0 && options[0] {
debug = true
}
func Connect() (*Sea, error) {
debug := flag.Bool("debug", false, "enable debug mode")
fmt.Printf("debug: %v\n", *debug)
user := os.Getenv("SEA_USER")
if user == "" {
return nil, errors.New("не установлена переменная SEA_USER")
return nil, errors.New("Не установлена переменная SEA_USER")
}
password := os.Getenv("SEA_PASSWORD")
if password == "" {
return nil, errors.New("не установлена переменная SEA_PASSWORD")
return nil, errors.New("Не установлена переменная SEA_PASSWORD")
}
db, err := openDB(user, password)
@ -50,12 +47,11 @@ func Connect(options ...bool) (*Sea, error) {
return nil, err
}
sea := Sea{db: db, debug: debug}
if debug {
golog.Infof("БД \"sea\" успешно открыта. %s", VERSION)
if *debug {
p.Println(pio.Rich("БД sea успешно открыта", pio.Blue))
}
sea := Sea{db: db, debug: *debug}
return &sea, nil
}
@ -78,7 +74,7 @@ type Album struct {
}
// Albums возвращает список активных альбомов,
// без учета комиксов. Использует процедуру getAlbums в MySQL.
// без учета комиксов.
func (s *Sea) Albums() ([]Album, error) {
cmd := "call getAlbums()"
var albums []Album
@ -86,9 +82,6 @@ func (s *Sea) Albums() ([]Album, error) {
if err != nil {
return nil, err
}
if s.debug {
golog.Infof("Получен список альбомов: %d", len(albums))
}
return albums, nil
}

@ -1,67 +0,0 @@
/***
Пакет seaweed предназначен для облегчения работы с БД sea
и weed.
Текущая версия: v1.0.7
***/
package seaweed
import (
"os"
"testing"
_ "github.com/go-sql-driver/mysql"
)
func TestConnect(t *testing.T) {
t.Run("проверка создания", func(t *testing.T) {
user := os.Getenv("SEA_USER")
if user == "" {
t.Errorf("Не установлена env-переменная SEA_USER")
}
password := os.Getenv("SEA_PASSWORD")
if password == "" {
t.Errorf("Не установлена env-переменная SEA_PASSWORD")
}
// создание с признаком отладки
sea, err := Connect(true)
if err != nil {
t.Errorf("Ошибка создания: %v", err)
}
if sea.debug == false {
t.Errorf("Не установлен признак отладки")
}
// штатное создание
sea2, err := Connect()
if err != nil {
t.Errorf("Ошибка создания: %v", err)
}
if sea2.debug == true {
t.Errorf("Не правильно установлен признак отладки")
}
})
}
func TestAlbums(t *testing.T) {
t.Run("проверка получения списка альбомов", func(t *testing.T) {
// создание с признаком отладки
sea, err := Connect(true)
if err != nil {
t.Errorf("Ошибка создания: %v", err)
}
albums, err := sea.Albums()
if err != nil {
t.Errorf("Ошибка albums: %v", err)
}
if len(albums) == 0 {
t.Errorf("Получен пустой список альбомов")
}
})
}
Loading…
Cancel
Save