mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.0 KiB
47 lines
1.0 KiB
package config |
|
|
|
import ( |
|
"os" |
|
"testing" |
|
|
|
"github.com/coreos/dex/client" |
|
"github.com/coreos/dex/client/manager" |
|
"github.com/coreos/dex/db" |
|
) |
|
|
|
const ( |
|
clientsFile = "../../static/fixtures/clients.json.sample" |
|
) |
|
|
|
// TestClientSample makes sure that the clients.json.sample file is valid and can be loaded properly. |
|
func TestClientSample(t *testing.T) { |
|
f, err := os.Open(clientsFile) |
|
if err != nil { |
|
t.Fatalf("could not open file %q: %v", clientsFile, err) |
|
} |
|
defer f.Close() |
|
|
|
clients, err := client.ClientsFromReader(f) |
|
if err != nil { |
|
t.Fatalf("Error loading Clients: %v", err) |
|
} |
|
|
|
memDB := db.NewMemDB() |
|
repo, err := db.NewClientRepoFromClients(memDB, clients) |
|
if err != nil { |
|
t.Fatalf("Error creating Clients: %v", err) |
|
} |
|
|
|
mgr := manager.NewClientManager(repo, db.TransactionFactory(memDB), manager.ManagerOptions{}) |
|
|
|
for i, c := range clients { |
|
ok, err := mgr.Authenticate(c.Client.Credentials) |
|
if !ok { |
|
t.Errorf("case %d: couldn't authenticate", i) |
|
} |
|
if err != nil { |
|
t.Errorf("case %d: error authenticating: %v", i, err) |
|
} |
|
} |
|
|
|
}
|
|
|