mirror of
https://github.com/pushbits/server.git
synced 2025-06-17 18:12:04 +02:00
get rid of external data for testing
This commit is contained in:
parent
4c84589172
commit
3ad8a5044e
3 changed files with 25 additions and 17 deletions
|
@ -174,8 +174,6 @@ git clone https://github.com/pushbits/server.git
|
||||||
|
|
||||||
Testing is essential for deliviering a good and reliable software. PushBits uses golangs integrated test features. Unfortunately writing tests is quite time consuming and therefore not every feature and every line of code is automatically tested. Feel free to help us improve our tests.
|
Testing is essential for deliviering a good and reliable software. PushBits uses golangs integrated test features. Unfortunately writing tests is quite time consuming and therefore not every feature and every line of code is automatically tested. Feel free to help us improve our tests.
|
||||||
|
|
||||||
Some tests depend on confidential configuration data. Therefore provide a `config.yml` in PushBits main folder.
|
|
||||||
|
|
||||||
To run tests for a single (sub)module you can simply execute the following command in the modules folder.
|
To run tests for a single (sub)module you can simply execute the following command in the modules folder.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
@ -26,15 +26,15 @@ var SuccessAplications map[uint][]model.Application
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
// Get main config and adapt
|
// Get main config and adapt
|
||||||
config, err := mockups.ReadConfig("../../config.yml", true)
|
config := &configuration.Configuration{}
|
||||||
if err != nil {
|
|
||||||
cleanUp()
|
|
||||||
log.Println("Can not read config: ", err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
config.Database.Connection = "pushbits-test.db"
|
config.Database.Connection = "pushbits-test.db"
|
||||||
config.Database.Dialect = "sqlite3"
|
config.Database.Dialect = "sqlite3"
|
||||||
|
config.Crypto.Argon2.Iterations = 4
|
||||||
|
config.Crypto.Argon2.Parallelism = 4
|
||||||
|
config.Crypto.Argon2.Memory = 131072
|
||||||
|
config.Crypto.Argon2.SaltLength = 16
|
||||||
|
config.Crypto.Argon2.KeyLength = 32
|
||||||
|
|
||||||
// Set up test environment
|
// Set up test environment
|
||||||
db, err := mockups.GetEmptyDatabase(config.Crypto)
|
db, err := mockups.GetEmptyDatabase(config.Crypto)
|
||||||
|
@ -312,10 +312,8 @@ func TestApi_DeleteApplication(t *testing.T) {
|
||||||
|
|
||||||
// GetApplicationHandler creates and returns an application handler
|
// GetApplicationHandler creates and returns an application handler
|
||||||
func getApplicationHandler(c *configuration.Configuration) (*ApplicationHandler, error) {
|
func getApplicationHandler(c *configuration.Configuration) (*ApplicationHandler, error) {
|
||||||
dispatcher, err := mockups.GetMatrixDispatcher(c.Matrix.Homeserver, c.Matrix.Username, c.Matrix.Password, c.Crypto)
|
dispatcher := &mockups.MockDispatcher{}
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &ApplicationHandler{
|
return &ApplicationHandler{
|
||||||
DB: TestDatabase,
|
DB: TestDatabase,
|
||||||
DP: dispatcher,
|
DP: dispatcher,
|
||||||
|
|
|
@ -1,11 +1,23 @@
|
||||||
package mockups
|
package mockups
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pushbits/server/internal/configuration"
|
"fmt"
|
||||||
"github.com/pushbits/server/internal/dispatcher"
|
|
||||||
|
"github.com/pushbits/server/internal/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetMatrixDispatcher creates and returns a matrix dispatcher
|
// MockDispatcher is a dispatcher used for testing - it does not need any storage interface
|
||||||
func GetMatrixDispatcher(homeserver, username, password string, confCrypto configuration.CryptoConfig) (*dispatcher.Dispatcher, error) {
|
type MockDispatcher struct {
|
||||||
return dispatcher.Create(homeserver, username, password, configuration.Formatting{})
|
}
|
||||||
|
|
||||||
|
func (d *MockDispatcher) RegisterApplication(id uint, name, token, user string) (string, error) {
|
||||||
|
return fmt.Sprintf("%d-%s", id, name), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *MockDispatcher) DeregisterApplication(a *model.Application, u *model.User) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *MockDispatcher) UpdateApplication(a *model.Application) error {
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue