File: test_memcached_admin.rb

package info (click to toggle)
ruby-dalli 3.2.8-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 684 kB
  • sloc: ruby: 6,552; sh: 20; makefile: 4
file content (68 lines) | stat: -rw-r--r-- 1,796 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# frozen_string_literal: true

require_relative '../helper'
require 'json'

describe 'memcached admin commands' do
  MemcachedManager.supported_protocols.each do |p|
    describe "using the #{p} protocol" do
      describe 'stats' do
        it 'support stats' do
          memcached_persistent(p) do |dc|
            # make sure that get_hits would not equal 0
            dc.set(:a, '1234567890' * 100_000)
            dc.get(:a)

            stats = dc.stats
            servers = stats.keys

            assert(servers.any? do |s|
              stats[s]['get_hits'].to_i != 0
            end, 'general stats failed')

            stats_items = dc.stats(:items)
            servers = stats_items.keys

            assert(servers.all? do |s|
              stats_items[s].keys.any? do |key|
                key =~ /items:[0-9]+:number/
              end
            end, 'stats items failed')

            stats_slabs = dc.stats(:slabs)
            servers = stats_slabs.keys

            assert(servers.all? do |s|
              stats_slabs[s].keys.any?('active_slabs')
            end, 'stats slabs failed')

            # reset_stats test
            results = dc.reset_stats

            assert(results.all? { |x| x })
            stats = dc.stats
            servers = stats.keys

            # check if reset was performed
            servers.each do |s|
              assert_equal 0, dc.stats[s]['get_hits'].to_i
            end
          end
        end
      end

      describe 'version' do
        it 'support version operation' do
          memcached_persistent(p) do |dc|
            v = dc.version
            servers = v.keys

            assert(servers.any? do |s|
              !v[s].nil?
            end, 'version failed')
          end
        end
      end
    end
  end
end