1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-28 13:48:49 +08:00
Mainflux.mainflux/things/redis/things_test.go

123 lines
2.7 KiB
Go
Raw Normal View History

// Copyright (c) Mainflux
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
// SPDX-License-Identifier: Apache-2.0
package redis_test
import (
2019-07-18 15:01:09 +02:00
"context"
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
"fmt"
"testing"
r "github.com/go-redis/redis/v8"
"github.com/mainflux/mainflux/pkg/errors"
"github.com/mainflux/mainflux/pkg/uuid"
"github.com/mainflux/mainflux/things/redis"
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var idProvider = uuid.New()
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
func TestThingSave(t *testing.T) {
thingCache := redis.NewThingCache(redisClient)
key, err := idProvider.ID()
require.Nil(t, err, fmt.Sprintf("got unexpected error: %s", err))
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
id := "123"
id2 := "124"
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
2019-07-18 15:01:09 +02:00
err = thingCache.Save(context.Background(), key, id2)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
require.Nil(t, err, fmt.Sprintf("Save thing to cache: expected nil got %s", err))
cases := []struct {
desc string
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
ID string
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
key string
err error
}{
{
desc: "Save thing to cache",
ID: id,
key: key,
err: nil,
},
{
desc: "Save already cached thing to cache",
ID: id2,
key: key,
err: nil,
},
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
}
for _, tc := range cases {
2019-07-18 15:01:09 +02:00
err := thingCache.Save(context.Background(), tc.key, tc.ID)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
assert.Nil(t, err, fmt.Sprintf("%s: expected %s got %s", tc.desc, tc.err, err))
}
}
func TestThingID(t *testing.T) {
thingCache := redis.NewThingCache(redisClient)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
key, err := idProvider.ID()
require.Nil(t, err, fmt.Sprintf("got unexpected error: %s", err))
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
id := "123"
2019-07-18 15:01:09 +02:00
err = thingCache.Save(context.Background(), key, id)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
require.Nil(t, err, fmt.Sprintf("Save thing to cache: expected nil got %s", err))
cases := map[string]struct {
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
ID string
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
key string
err error
}{
"Get ID by existing thing-key": {
ID: id,
key: key,
err: nil,
},
"Get ID by non-existing thing-key": {
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
ID: "",
key: wrongValue,
err: r.Nil,
},
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
}
for desc, tc := range cases {
2019-07-18 15:01:09 +02:00
cacheID, err := thingCache.ID(context.Background(), tc.key)
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
assert.Equal(t, tc.ID, cacheID, fmt.Sprintf("%s: expected %s got %s\n", desc, tc.ID, cacheID))
2020-03-30 15:22:18 +02:00
assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", desc, tc.err, err))
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
}
}
func TestThingRemove(t *testing.T) {
thingCache := redis.NewThingCache(redisClient)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
key, err := idProvider.ID()
require.Nil(t, err, fmt.Sprintf("got unexpected error: %s", err))
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
id := "123"
id2 := "321"
2019-07-18 15:01:09 +02:00
thingCache.Save(context.Background(), key, id)
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
cases := []struct {
desc string
MF-475 - Replace increment ID with UUID (#490) * Update increment ID to UUID in things service Update increment ID to UUID for things and channels in things service and proto files. Also, update ID type from uint to string. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in http adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in ws adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in CoAP adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in normalizer service Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in writer services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in reader services Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in SDK Update increment ID to UUID in SDK. Update id type to string. Update tests. Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update increment ID to UUID in mqtt adapter Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Remove unnecessary case from influxdb reader Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update tests in order to increase code coverage Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com> * Update lora adapter to use string ID instead of unsigned int Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-12-05 13:09:25 +01:00
ID string
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
err error
}{
{
desc: "Remove existing thing from cache",
ID: id,
err: nil,
},
{
desc: "Remove non-existing thing from cache",
ID: id2,
err: nil,
},
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
}
for _, tc := range cases {
2019-07-18 15:01:09 +02:00
err := thingCache.Remove(context.Background(), tc.ID)
2020-03-30 15:22:18 +02:00
assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err))
MF-384 - Add test for Redis cache (#405) * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test Signed-off-by: Ivan Milošević <iva@blokovi.com> * MF-384 - Add test for Redis cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add copyright headers Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix copyright header Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix test setup Signed-off-by: Ivan Milošević <iva@blokovi.com> * handling errors and put test cases in maps instead of slices Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case if thing already exists Signed-off-by: Ivan Milošević <iva@blokovi.com> * Fix TestThingSave to use require instead of assert Signed-off-by: Ivan Milošević <iva@blokovi.com> * Add test case for removing non-existing thing from cache Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Remove and test Connect for every case Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use table of test cases for Save Signed-off-by: Ivan Milošević <iva@blokovi.com> * Test cases in slice instead of map for testing Remove Signed-off-by: Ivan Milošević <iva@blokovi.com> * Make test-cases independent, use asserts instead of requires Signed-off-by: Ivan Milošević <iva@blokovi.com> * Use slice and map where appropriate Signed-off-by: Ivan Milošević <iva@blokovi.com>
2018-09-30 02:03:00 +02:00
}
}