]>
Commit | Line | Data |
---|---|---|
8c87daac RG |
1 | #!/usr/bin/env python |
2 | import base64 | |
3 | import socket | |
4 | import time | |
5 | import dns | |
6 | from dnsdisttests import DNSDistTest | |
7 | from dnsdistDynBlockTests import DynBlocksTest, waitForMaintenanceToRun, _maintenanceWaitTime | |
8 | ||
9 | class TestDynBlockResponseBytes(DynBlocksTest): | |
10 | ||
11 | _dynBlockBytesPerSecond = 200 | |
12 | _consoleKey = DNSDistTest.generateConsoleKey() | |
13 | _consoleKeyB64 = base64.b64encode(_consoleKey).decode('ascii') | |
14 | _config_params = ['_consoleKeyB64', '_consolePort', '_dynBlockBytesPerSecond', '_dynBlockPeriod', '_dynBlockDuration', '_testServerPort'] | |
15 | _config_template = """ | |
16 | setKey("%s") | |
17 | controlSocket("127.0.0.1:%s") | |
18 | function maintenance() | |
19 | addDynBlocks(exceedRespByterate(%d, %d), "Exceeded response byterate", %d) | |
20 | end | |
21 | newServer{address="127.0.0.1:%s"} | |
22 | """ | |
23 | ||
24 | def testDynBlocksResponseByteRate(self): | |
25 | """ | |
26 | Dyn Blocks: Response Byte Rate | |
27 | """ | |
28 | name = 'responsebyterate.dynblocks.tests.powerdns.com.' | |
29 | self.doTestResponseByteRate(name, self._dynBlockBytesPerSecond) | |
30 | ||
31 | class TestDynBlockGroupResponseBytes(DynBlocksTest): | |
32 | ||
33 | _dynBlockBytesPerSecond = 200 | |
34 | _consoleKey = DNSDistTest.generateConsoleKey() | |
35 | _consoleKeyB64 = base64.b64encode(_consoleKey).decode('ascii') | |
36 | _config_params = ['_consoleKeyB64', '_consolePort', '_dynBlockBytesPerSecond', '_dynBlockPeriod', '_dynBlockDuration', '_testServerPort'] | |
37 | _config_template = """ | |
38 | setKey("%s") | |
39 | controlSocket("127.0.0.1:%s") | |
40 | local dbr = dynBlockRulesGroup() | |
41 | dbr:setResponseByteRate(%d, %d, "Exceeded query rate", %d) | |
42 | ||
43 | function maintenance() | |
44 | dbr:apply() | |
45 | end | |
46 | ||
47 | newServer{address="127.0.0.1:%s"} | |
48 | """ | |
49 | ||
50 | def testDynBlocksResponseByteRate(self): | |
51 | """ | |
52 | Dyn Blocks (group) : Response Byte Rate | |
53 | """ | |
54 | name = 'responsebyterate.group.dynblocks.tests.powerdns.com.' | |
55 | self.doTestResponseByteRate(name, self._dynBlockBytesPerSecond) |