mirror of
https://github.com/openziti/zrok.git
synced 2025-06-24 03:31:57 +02:00
parent
1fcb496321
commit
70c99b9791
@ -34,7 +34,7 @@ func (str *Store) GetFrontend(id int, tx *sqlx.Tx) (*Frontend, error) {
|
|||||||
|
|
||||||
func (str *Store) FindFrontendNamed(name string, tx *sqlx.Tx) (*Frontend, error) {
|
func (str *Store) FindFrontendNamed(name string, tx *sqlx.Tx) (*Frontend, error) {
|
||||||
i := &Frontend{}
|
i := &Frontend{}
|
||||||
if err := tx.QueryRowx("select frontends.* from frontends where name = $1", name).Scan(i); err != nil {
|
if err := tx.QueryRowx("select frontends.* from frontends where name = $1", name).StructScan(i); err != nil {
|
||||||
return nil, errors.Wrap(err, "error selecting frontend by name")
|
return nil, errors.Wrap(err, "error selecting frontend by name")
|
||||||
}
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
|
@ -1 +1,60 @@
|
|||||||
package store
|
package store
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestPublicFrontend(t *testing.T) {
|
||||||
|
str, err := Open(&Config{Path: ":memory:", Type: "sqlite3"})
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.NotNil(t, str)
|
||||||
|
|
||||||
|
tx, err := str.Begin()
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.NotNil(t, tx)
|
||||||
|
|
||||||
|
acctId, err := str.CreateAccount(&Account{
|
||||||
|
Email: "test@test.com",
|
||||||
|
Password: "password",
|
||||||
|
Token: "token",
|
||||||
|
}, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
|
envId, err := str.CreateEnvironment(acctId, &Environment{
|
||||||
|
Description: "description",
|
||||||
|
Host: "host",
|
||||||
|
Address: "address",
|
||||||
|
ZId: "zId0",
|
||||||
|
}, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
|
feName := "public"
|
||||||
|
feId, err := str.CreateFrontend(envId, &Frontend{
|
||||||
|
ZId: "zId0",
|
||||||
|
Name: &feName,
|
||||||
|
}, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
|
fe, err := str.GetFrontend(feId, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.NotNil(t, fe)
|
||||||
|
assert.Equal(t, envId, fe.EnvironmentId)
|
||||||
|
assert.Equal(t, feName, *fe.Name)
|
||||||
|
|
||||||
|
fe0, err := str.FindFrontendNamed(feName, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.NotNil(t, fe0)
|
||||||
|
assert.EqualValues(t, fe, fe0)
|
||||||
|
|
||||||
|
err = str.DeleteFrontend(fe.Id, tx)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
|
fe0, err = str.FindFrontendNamed(feName, tx)
|
||||||
|
assert.NotNil(t, err)
|
||||||
|
assert.Nil(t, fe0)
|
||||||
|
|
||||||
|
fe0, err = str.GetFrontend(fe.Id, tx)
|
||||||
|
assert.NotNil(t, err)
|
||||||
|
assert.Nil(t, fe0)
|
||||||
|
}
|
||||||
|
@ -1,14 +1,5 @@
|
|||||||
-- +migrate Up
|
-- +migrate Up
|
||||||
|
|
||||||
create table frontends (
|
|
||||||
id serial primary key,
|
|
||||||
environment_id integer not null references environments(id),
|
|
||||||
z_id varchar(32) not null unique,
|
|
||||||
name varchar(64) unique,
|
|
||||||
created_at datetime not null default(strftime('%Y-%m-%d %H:%M:%f', 'now')),
|
|
||||||
updated_at datetime not null default(strftime('%Y-%m-%d %H:%M:%f', 'now'))
|
|
||||||
);
|
|
||||||
|
|
||||||
-- environments.account_id should allow NULL; environments with NULL account_id are "ephemeral"
|
-- environments.account_id should allow NULL; environments with NULL account_id are "ephemeral"
|
||||||
alter table environments rename to environments_old;
|
alter table environments rename to environments_old;
|
||||||
create table environments (
|
create table environments (
|
||||||
@ -24,4 +15,13 @@ create table environments (
|
|||||||
constraint chk_z_id check (z_id <> '')
|
constraint chk_z_id check (z_id <> '')
|
||||||
);
|
);
|
||||||
insert into environments select * from environments_old;
|
insert into environments select * from environments_old;
|
||||||
drop table environments_old;
|
drop table environments_old;
|
||||||
|
|
||||||
|
create table frontends (
|
||||||
|
id integer primary key,
|
||||||
|
environment_id integer not null references environments(id),
|
||||||
|
z_id varchar(32) not null unique,
|
||||||
|
name varchar(64) unique,
|
||||||
|
created_at datetime not null default(strftime('%Y-%m-%d %H:%M:%f', 'now')),
|
||||||
|
updated_at datetime not null default(strftime('%Y-%m-%d %H:%M:%f', 'now'))
|
||||||
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user