mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 17:08:53 +00:00
Minor refactoring in HostStatus function (#692)
- Refactor function - Add test
This commit is contained in:
parent
5ec95a5a3b
commit
2c7fc2a6f2
2 changed files with 32 additions and 6 deletions
|
|
@ -14,14 +14,14 @@ func (svc service) GetHost(ctx context.Context, id uint) (*kolide.Host, error) {
|
|||
}
|
||||
|
||||
func (svc service) HostStatus(ctx context.Context, host kolide.Host) string {
|
||||
if host.UpdatedAt.Add(OfflineDuration).Before(svc.clock.Now()) {
|
||||
if host.UpdatedAt.Add(MIADuration).Before(svc.clock.Now()) {
|
||||
return StatusMIA
|
||||
}
|
||||
switch {
|
||||
case host.UpdatedAt.Add(MIADuration).Before(svc.clock.Now()):
|
||||
return StatusMIA
|
||||
case host.UpdatedAt.Add(OfflineDuration).Before(svc.clock.Now()):
|
||||
return StatusOffline
|
||||
default:
|
||||
return StatusOnline
|
||||
}
|
||||
|
||||
return StatusOnline
|
||||
}
|
||||
|
||||
func (svc service) DeleteHost(ctx context.Context, id uint) error {
|
||||
|
|
|
|||
|
|
@ -2,11 +2,14 @@ package service
|
|||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/WatchBeam/clock"
|
||||
"github.com/kolide/kolide-ose/server/config"
|
||||
"github.com/kolide/kolide-ose/server/datastore/inmem"
|
||||
"github.com/kolide/kolide-ose/server/kolide"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
|
|
@ -77,3 +80,26 @@ func TestDeleteHost(t *testing.T) {
|
|||
assert.Len(t, hosts, 0)
|
||||
|
||||
}
|
||||
|
||||
func TestHostStatus(t *testing.T) {
|
||||
mockClock := clock.NewMockClock()
|
||||
svc, err := newTestServiceWithClock(nil, nil, mockClock)
|
||||
require.Nil(t, err)
|
||||
|
||||
assert.Nil(t, err)
|
||||
ctx := context.Background()
|
||||
|
||||
host := kolide.Host{}
|
||||
|
||||
host.UpdatedAt = mockClock.Now()
|
||||
assert.Equal(t, StatusOnline, svc.HostStatus(ctx, host))
|
||||
|
||||
host.UpdatedAt = mockClock.Now().Add(-1 * time.Minute)
|
||||
assert.Equal(t, StatusOnline, svc.HostStatus(ctx, host))
|
||||
|
||||
host.UpdatedAt = mockClock.Now().Add(-1 * time.Hour)
|
||||
assert.Equal(t, StatusOffline, svc.HostStatus(ctx, host))
|
||||
|
||||
host.UpdatedAt = mockClock.Now().Add(-24 * 35 * time.Hour) // 35 days
|
||||
assert.Equal(t, StatusMIA, svc.HostStatus(ctx, host))
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue