lei/store: stop shard workers + cat-file on idle
[public-inbox.git] / t / config_limiter.t
blobf4d99080ea3c4619ba22bbde095ce8ad3295fddb
1 # Copyright (C) all contributors <meta@public-inbox.org>
2 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
3 use v5.12;
4 use PublicInbox::TestCommon;
5 my $tmpdir = tmpdir;
7         my $config = cfg_new $tmpdir, <<EOF;
8 [publicinbox "test"]
9         address = test\@example.com
10         inboxdir = /path/to/non/existent
11         httpbackendmax = 12
12 EOF
13         my $ibx = $config->lookup_name('test');
14         my $git = $ibx->git;
15         my $old = "$git";
16         my $lim = $git->{-httpbackend_limiter};
17         ok($lim, 'Limiter exists');
18         is($lim->{max}, 12, 'limiter has expected slots');
19         $ibx->{git} = undef;
20         $git = $ibx->git;
21         isnt($old, "$git", 'got new Git object');
22         is("$git->{-httpbackend_limiter}", "$lim", 'same limiter');
26         my $config = cfg_new $tmpdir, <<EOF;
27 [publicinboxlimiter "named"]
28         max = 3
29 [publicinbox "test"]
30         address = test\@example.com
31         inboxdir = /path/to/non/existent
32         httpbackendmax = named
33 EOF
34         my $ibx = $config->lookup_name('test');
35         my $git = $ibx->git;
36         ok($git, 'got git object');
37         my $old = "$git"; # stringify object ref "Git(0xDEADBEEF)"
38         my $lim = $git->{-httpbackend_limiter};
39         ok($lim, 'Limiter exists');
40         is($lim->{max}, 3, 'limiter has expected slots');
41         $ibx->{git} = undef;
42         my $new = $ibx->git;
43         isnt($old, "$new", 'got new Git object');
44         is("$new->{-httpbackend_limiter}", "$lim", 'same limiter');
45         is($lim->{max}, 3, 'limiter has expected slots');
48 done_testing;