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

mendersoftware / mender-server / 1622978334

13 Jan 2025 03:51PM UTC coverage: 72.802% (-3.8%) from 76.608%
1622978334

Pull #300

gitlab-ci

alfrunes
fix: Deployment device count should not exceed max devices

Added a condition to skip deployments when the device count reaches max
devices.

Changelog: Title
Ticket: MEN-7847
Signed-off-by: Alf-Rune Siqveland <alf.rune@northern.tech>
Pull Request #300: fix: Deployment device count should not exceed max devices

4251 of 6164 branches covered (68.96%)

Branch coverage included in aggregate %.

0 of 18 new or added lines in 1 file covered. (0.0%)

2544 existing lines in 83 files now uncovered.

42741 of 58384 relevant lines covered (73.21%)

21.49 hits per line

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

89.47
/backend/services/deployments/app/app_last_status.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 app
16

17
import (
18
        "context"
19

20
        "github.com/pkg/errors"
21

22
        "github.com/mendersoftware/mender-server/services/deployments/model"
23
)
24

25
const (
26
        MaxDeviceArrayLength = 1024
27
)
28

29
var (
30
        ErrNoIdsGiven  = errors.New("need at least one device id")
31
        ErrArrayTooBig = errors.New("too many device ids given")
32
)
33

34
// GetDeviceDeploymentLastStatus returns the array of last device deployment statuses.
35
func (d *Deployments) GetDeviceDeploymentLastStatus(
36
        ctx context.Context,
37
        devicesIds []string,
38
) (model.DeviceDeploymentLastStatuses, error) {
1✔
39
        length := len(devicesIds)
1✔
40
        if length < 1 {
2✔
41
                return model.DeviceDeploymentLastStatuses{
1✔
42
                        DeviceDeploymentLastStatuses: []model.DeviceDeploymentLastStatus{},
1✔
43
                }, ErrNoIdsGiven
1✔
44
        }
1✔
45
        if length > MaxDeviceArrayLength {
2✔
46
                return model.DeviceDeploymentLastStatuses{
1✔
47
                        DeviceDeploymentLastStatuses: []model.DeviceDeploymentLastStatus{},
1✔
48
                }, ErrArrayTooBig
1✔
49
        }
1✔
50

51
        statuses, err := d.db.GetLastDeviceDeploymentStatus(ctx, devicesIds)
1✔
52
        if len(statuses) < 1 {
1✔
UNCOV
53
                statuses = []model.DeviceDeploymentLastStatus{}
×
UNCOV
54
        }
×
55
        return model.DeviceDeploymentLastStatuses{
1✔
56
                DeviceDeploymentLastStatuses: statuses,
1✔
57
        }, err
1✔
58
}
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