summaryrefslogtreecommitdiff
path: root/spec/models/clusters/agent_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/clusters/agent_spec.rb')
-rw-r--r--spec/models/clusters/agent_spec.rb27
1 files changed, 25 insertions, 2 deletions
diff --git a/spec/models/clusters/agent_spec.rb b/spec/models/clusters/agent_spec.rb
index 3b521086c14..f279e779de5 100644
--- a/spec/models/clusters/agent_spec.rb
+++ b/spec/models/clusters/agent_spec.rb
@@ -76,12 +76,12 @@ RSpec.describe Clusters::Agent do
end
end
- describe '#active?' do
+ describe '#connected?' do
let_it_be(:agent) { create(:cluster_agent) }
let!(:token) { create(:cluster_agent_token, agent: agent, last_used_at: last_used_at) }
- subject { agent.active? }
+ subject { agent.connected? }
context 'agent has never connected' do
let(:last_used_at) { nil }
@@ -99,6 +99,14 @@ RSpec.describe Clusters::Agent do
let(:last_used_at) { 2.minutes.ago }
it { is_expected.to be_truthy }
+
+ context 'agent token has been revoked' do
+ before do
+ token.revoked!
+ end
+
+ it { is_expected.to be_falsey }
+ end
end
context 'agent has multiple tokens' do
@@ -108,4 +116,19 @@ RSpec.describe Clusters::Agent do
it { is_expected.to be_truthy }
end
end
+
+ describe '#activity_event_deletion_cutoff' do
+ let_it_be(:agent) { create(:cluster_agent) }
+ let_it_be(:event1) { create(:agent_activity_event, agent: agent, recorded_at: 1.hour.ago) }
+ let_it_be(:event2) { create(:agent_activity_event, agent: agent, recorded_at: 2.hours.ago) }
+ let_it_be(:event3) { create(:agent_activity_event, agent: agent, recorded_at: 3.hours.ago) }
+
+ subject { agent.activity_event_deletion_cutoff }
+
+ before do
+ stub_const("#{described_class}::ACTIVITY_EVENT_LIMIT", 2)
+ end
+
+ it { is_expected.to be_like_time(event2.recorded_at) }
+ end
end