1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /*
- * EliasDB
- *
- * Copyright 2016 Matthias Ladkau. All rights reserved.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
- package console
- import (
- "bytes"
- "testing"
- "devt.de/krotik/eliasdb/config"
- )
- func TestEQLConsole(t *testing.T) {
- var out bytes.Buffer
- ResetDB()
- credGiver.Reset()
- createSongGraph()
- // Dummy test
- eqlc := &EQLConsole{}
- eqlc.Commands()
- // Enable access control
- config.Config[config.EnableAccessControl] = true
- defer func() {
- config.Config[config.EnableAccessControl] = false
- }()
- c := NewConsole("http://localhost"+TESTPORT, &out, credGiver.GetCredentials,
- func() string { return "***pass***" },
- func(args []string, e *bytes.Buffer) error {
- return nil
- })
- // Now force the login - we should get one failed login
- out.Reset()
- credGiver.UserQueue = []string{"elias"}
- credGiver.PassQueue = []string{"elias"}
- if ok, err := c.Run("users"); !ok || err != nil {
- t.Error(ok, err)
- return
- }
- if res := out.String(); res != `
- Login as user elias
- ┌─────────┬─────────────┐
- │Username │Groups │
- ├─────────┼─────────────┤
- │elias │admin/public │
- │johndoe │public │
- └─────────┴─────────────┘
- `[1:] {
- t.Error("Unexpected result:", res)
- return
- }
- out.Reset()
- if ok, err := c.Run("get Song"); !ok || err != nil {
- t.Error(ok, err)
- return
- }
- if res := out.String(); res != `
- ┌─────────────┬─────────────┬────────────┐
- │Song Key │Song Name │Ranking │
- │1:n:key │1:n:name │1:n:ranking │
- ├─────────────┼─────────────┼────────────┤
- │StrangeSong1 │StrangeSong1 │5 │
- │FightSong4 │FightSong4 │3 │
- │DeadSong2 │DeadSong2 │6 │
- │LoveSong3 │LoveSong3 │1 │
- │MyOnlySong3 │MyOnlySong3 │19 │
- │Aria1 │Aria1 │8 │
- │Aria2 │Aria2 │2 │
- │Aria3 │Aria3 │4 │
- │Aria4 │Aria4 │18 │
- └─────────────┴─────────────┴────────────┘
- `[1:] {
- t.Error("Unexpected result:", res)
- return
- }
- out.Reset()
- }
|