• 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

0.0
/backend/services/deviceauth/model/authreq.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
package model
15

16
import (
17
        "crypto"
18
        "errors"
19

20
        "github.com/mendersoftware/mender-server/services/deviceauth/utils"
21
)
22

23
// note: fields with underscores need the 'bson' decorator
24
// otherwise the underscore will be removed upon write to mongo
25
type AuthReq struct {
26
        IdData      string `json:"id_data" bson:"id_data"`
27
        TenantToken string `json:"tenant_token" bson:"tenant_token"`
28
        PubKey      string `json:"pubkey"`
29

30
        //helpers, not serialized
31
        PubKeyStruct crypto.PublicKey `json:"-" bson:"-"`
32
}
33

UNCOV
34
func (r *AuthReq) Validate() error {
×
UNCOV
35
        if r.IdData == "" {
×
36
                return errors.New("id_data must be provided")
×
37
        }
×
38

UNCOV
39
        if r.PubKey == "" {
×
40
                return errors.New("pubkey must be provided")
×
41
        }
×
42

43
        // normalize pubkey by parsing+serializing the key string
44
        //in between, save it in a temp field because it will be useful outside of Validate()
UNCOV
45
        key, err := utils.ParsePubKey(r.PubKey)
×
UNCOV
46
        if err != nil {
×
UNCOV
47
                return err
×
UNCOV
48
        }
×
49

UNCOV
50
        r.PubKeyStruct = key
×
UNCOV
51

×
UNCOV
52
        serialized, err := utils.SerializePubKey(key)
×
UNCOV
53
        if err != nil {
×
54
                return err
×
55
        }
×
56

UNCOV
57
        r.PubKey = serialized
×
UNCOV
58

×
UNCOV
59
        if sorted, err := utils.JsonSort(r.IdData); err != nil {
×
60
                return err
×
UNCOV
61
        } else {
×
UNCOV
62
                r.IdData = sorted
×
UNCOV
63
        }
×
64

65
        // not checking tenant token for now - TODO
UNCOV
66
        return nil
×
67
}
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