diff --git a/cmd/main.go b/cmd/main.go index c458e94..bf9347d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -1,14 +1,32 @@ package main import ( + "context" + "log" "os" + "os/signal" + "syscall" "gogs.inhome.blapointe.com/ana-ledger/cmd/cli" "gogs.inhome.blapointe.com/ana-ledger/cmd/http" + "gogs.inhome.blapointe.com/ana-ledger/src/bank/teller" ) func main() { switch os.Args[1] { + case "tel": + ctx, can := signal.NotifyContext(context.Background(), syscall.SIGINT) + defer can() + + if c, err := teller.New(); err != nil { + } else if _, err := c.Accounts(ctx); err != nil { + } else { + log.Println("teller already init") + } + + if err := teller.Init(ctx); err != nil { + panic(err) + } case "http": os.Args = append([]string{os.Args[0]}, os.Args[2:]...) http.Main() diff --git a/src/bank/teller/teller.go b/src/bank/teller/teller.go index 503df25..b6d23d6 100644 --- a/src/bank/teller/teller.go +++ b/src/bank/teller/teller.go @@ -22,6 +22,8 @@ var ( certificate []byte //go:embed private_key.pem privateKey []byte + //go:embed token.txt + Token string ) func New() (Client, error) { @@ -54,7 +56,7 @@ func (c Client) get(ctx context.Context, url string, ptr interface{}) error { if err != nil { return err } - req.SetBasicAuth("test_token_bfu2cyvq3il6o", "") // TODO + req.SetBasicAuth(Token, "") req = req.WithContext(ctx) resp, err := httpc.Do(req) diff --git a/src/bank/teller/teller_integration_test.go b/src/bank/teller/teller_integration_test.go index 9f47a76..5c839aa 100644 --- a/src/bank/teller/teller_integration_test.go +++ b/src/bank/teller/teller_integration_test.go @@ -10,6 +10,8 @@ import ( ) func Test(t *testing.T) { + teller.Token = "test_token_bfu2cyvq3il6o" + c, err := teller.New() if err != nil { t.Fatal(err) diff --git a/src/bank/teller/teller_manual_test.go b/src/bank/teller/teller_manual_test.go index 2f66771..970d60d 100644 --- a/src/bank/teller/teller_manual_test.go +++ b/src/bank/teller/teller_manual_test.go @@ -8,9 +8,13 @@ import ( "net/http" "testing" "time" + + "gogs.inhome.blapointe.com/ana-ledger/src/bank/teller" ) func TestIntegration(t *testing.T) { + teller.Token = "test_token_bfu2cyvq3il6o" + //curl --cert certificate.pem --cert-key private_key.pem --auth test_token_bfu2cyvq3il6o: https://api.teller.io/accounts cert, err := tls.LoadX509KeyPair("./certificate.pem", "./private_key.pem") if err != nil { diff --git a/src/bank/teller/token.txt b/src/bank/teller/token.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/bank/teller/token.txt @@ -0,0 +1 @@ +