aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/reload_test.go
blob: 02d789c66fe4e58b964680cdf02874a1f9f2e3af (plain) (blame)
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
package file

import (
	"io/ioutil"
	"os"
	"testing"
	"time"

	"github.com/miekg/coredns/middleware/test"
	"github.com/miekg/dns"
)

func TestZoneReload(t *testing.T) {
	fileName, rm, err := test.TempFile(t, ".", reloadZoneTest)
	if err != nil {
		t.Fatalf("failed to create zone: %s", err)
	}
	defer rm()
	reader, err := os.Open(fileName)
	if err != nil {
		t.Fatalf("failed to open zone: %s", err)
	}
	z, err := Parse(reader, "miek.nl", fileName)
	if err != nil {
		t.Fatalf("failed to parse zone: %s", err)
	}

	z.Reload(nil)

	if _, _, _, res := z.Lookup("miek.nl.", dns.TypeSOA, false); res != Success {
		t.Fatalf("failed to lookup, got %d", res)
	}

	if _, _, _, res := z.Lookup("miek.nl.", dns.TypeNS, false); res != Success {
		t.Fatalf("failed to lookup, got %d", res)
	}

	if len(z.All()) != 5 {
		t.Fatalf("expected 5 RRs, got %d", len(z.All()))
	}
	if err := ioutil.WriteFile(fileName, []byte(reloadZone2Test), 0644); err != nil {
		t.Fatalf("failed to write new zone data: %s", err)
	}
	// Could still be racy, but we need to wait a bit for the event to be seen
	time.Sleep(1 * time.Second)

	if len(z.All()) != 3 {
		t.Fatalf("expected 3 RRs, got %d", len(z.All()))
	}
}

const reloadZoneTest = `miek.nl.		1627	IN	SOA	linode.atoom.net. miek.miek.nl. 1460175181 14400 3600 604800 14400
miek.nl.		1627	IN	NS	ext.ns.whyscream.net.
miek.nl.		1627	IN	NS	omval.tednet.nl.
miek.nl.		1627	IN	NS	linode.atoom.net.
miek.nl.		1627	IN	NS	ns-ext.nlnetlabs.nl.
`

const reloadZone2Test = `miek.nl.		1627	IN	SOA	linode.atoom.net. miek.miek.nl. 1460175181 14400 3600 604800 14400
miek.nl.		1627	IN	NS	ext.ns.whyscream.net.
miek.nl.		1627	IN	NS	omval.tednet.nl.
`
on&id=83c1d7c9ef1ffb2c78d697ff9e8b2a0fba7bef7a&follow=1'>bunjs-only-snippets/process-nexttick.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-05-03Forgot about base64Gravatar Jarred Sumner 1-0/+20
2022-05-03wrong dirGravatar Jarred Sumner 2-1/+1
2022-05-03Fix tinycc build on linuxGravatar Jarred Sumner 1-1/+1
2022-05-03Fix webkit linux buildGravatar Jarred Sumner 1-0/+0
2022-05-03Update README.mdGravatar Jarred Sumner 1-6/+6
2022-05-03Add tinycc dependencyGravatar Jarred Sumner 5-5/+39
2022-05-03clarifyGravatar Jarred Sumner 5-2/+22
2022-05-03Update README.mdGravatar Jarred Sumner 1-2/+3
2022-05-03Update README.mdGravatar Jarred Sumner 1-4/+4
2022-05-03ffi overhead benchGravatar Jarred Sumner 10-19/+56
2022-05-03Add docs for FFIGravatar Jarred Sumner 23-143/+629
2022-05-02[bun:ffi] Improve `uint64_t` and `int64_t` performanceGravatar Jarred Sumner 6-227/+512
2022-05-02[bun:ffi] Support `i64` and `u64`Gravatar Jarred Sumner 11-144/+212
2022-05-02[bun:ffi] Support `double` and `float`Gravatar Jarred Sumner 7-65/+65
2022-05-02add a commentGravatar Jarred Sumner 1-0/+13
2022-05-02[bun:ffi] cleanupGravatar Jarred Sumner 21-87/+1051
2022-05-02[bun.js] Add `Bun.nanoseconds()` to report time in nanosGravatar Jarred Sumner 4-146/+145
2022-05-02[bun:ffi] ~20% faster FFI bindings for functions with argumentsGravatar Jarred Sumner 10-13/+220
2022-05-02Automatic CString supportGravatar Jarred Sumner 1-23/+78
2022-05-01[bun:ffi] Add wrapper for type coercionGravatar Jarred Sumner 1-2/+172
2022-05-01wip Buffer.fillGravatar Jarred Sumner 3-95/+167
2022-05-01Buffer.compare & Buffer.equalGravatar Jarred Sumner 2-5/+244
2022-05-01[bun.js] Improve `Buffer` creation perf a littleGravatar Jarred Sumner 2-8/+45
2022-05-01[bun.js] Implement `Buffer.concat`Gravatar Jarred Sumner 2-1/+78
2022-04-30Bump WebKitGravatar Jarred Sumner 1-0/+0
2022-04-30cleanupGravatar Jarred Sumner 5-2/+132
2022-04-30[bun.js] Implement `Buffer.from` and `Buffer.copy`Gravatar Jarred Sumner 12-520/+952
2022-04-30[bun ffi] Fix missing `"void"`Gravatar Jarred Sumner 1-0/+1
2022-04-30[bun ffi] Remove dependency on libtcc1.a and improve error messagesGravatar Jarred Sumner 3-36/+139
2022-04-30wipGravatar Jarred Sumner 9-272/+883
2022-04-30Update ffi-test.cGravatar Jarred Sumner 1-24/+35
2022-04-30aGravatar Jarred Sumner 1-0/+27
2022-04-29[bun:ffi] it worksGravatar Jarred Sumner 15-221/+1277
2022-04-29[bun.js] Implement unsafe.{`arrayBufferToPtr`, `arrayBufferFromPtr`, `bufferF...Gravatar Jarred Sumner 6-82/+187
2022-04-29[bun ffi] Support pointersGravatar Jarred Sumner 4-238/+179
2022-04-29[bun ffi] support `i32`, `i8`, `u8`, `u16`, `i16`, `u32`, `bool`Gravatar Jarred Sumner 5-159/+260
2022-04-29more tests for bufferGravatar Jarred Sumner 1-1/+165
2022-04-29add more to buffer implementationGravatar Jarred Sumner 14-157/+783
2022-04-29ffi test codeGravatar Jarred Sumner 2-26/+247
2022-04-29wipGravatar Jarred Sumner 10-16/+312
2022-04-29commit moreGravatar Jarred Sumner 3-0/+81