• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / go-lib-micro / 911569613

pending completion
911569613

Pull #201

gitlab-ci

alfrunes
ci: Add TEST_MONGO_URL to unit test job

Signed-off-by: Alf-Rune Siqveland <alf.rune@northern.tech>
Pull Request #201: Use existing mongo server for unit tests

11 of 41 new or added lines in 2 files covered. (26.83%)

1375 of 1729 relevant lines covered (79.53%)

4.26 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

13.64
/mongo/testing/db_env.go
1
// Copyright 2023 Northern.tech AS
2
//
3
//        Licensed under the Apache License, Version 2.0 (the "License");
4
//        you may not use this file except in compliance with the License.
5
//        You may obtain a copy of the License at
6
//
7
//            http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//        Unless required by applicable law or agreed to in writing, software
10
//        distributed under the License is distributed on an "AS IS" BASIS,
11
//        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//        See the License for the specific language governing permissions and
13
//        limitations under the License.
14

15
package testing
16

17
import (
18
        "context"
19
        "time"
20

21
        "go.mongodb.org/mongo-driver/bson"
22
        "go.mongodb.org/mongo-driver/mongo"
23
)
24

25
type dbClientFromEnv mongo.Client
26

27
// CTX is required for testing.DBTestRunner
NEW
28
func (self *dbClientFromEnv) CTX() context.Context {
×
NEW
29
        return context.TODO()
×
NEW
30
}
×
31

32
func (self *dbClientFromEnv) Client() *mongo.Client {
1✔
33
        return (*mongo.Client)(self)
1✔
34
}
1✔
35

NEW
36
func (self *dbClientFromEnv) Wipe() {
×
NEW
37
        client := self.Client()
×
NEW
38
        ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
×
NEW
39
        defer cancel()
×
NEW
40
        names, err := client.ListDatabaseNames(ctx, bson.D{})
×
NEW
41
        if err != nil {
×
NEW
42
                panic(err)
×
43
        }
NEW
44
        for _, name := range names {
×
NEW
45
                switch name {
×
NEW
46
                case "admin", "local", "config":
×
NEW
47
                default:
×
NEW
48
                        err = client.
×
NEW
49
                                Database(name).
×
NEW
50
                                Drop(ctx)
×
NEW
51
                        if err != nil {
×
NEW
52
                                panic(err)
×
53
                        }
54
                }
55
        }
56
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc