@sintaxi/dnsd
Version:
Dynamic authoritative name server for Iris services
51 lines (36 loc) • 1.27 kB
JavaScript
//
// Copyright 2012 Iris Couch, all rights reserved.
//
// Test DNS messages
var fs = require('fs')
var tap = require('tap')
var test = tap.test
var util = require('util')
var Message = require('../message')
var API = require('../named')
var DATA = __dirname + '/../_test_data'
test('Message API', function(t) {
t.type(Message, 'function', 'Message is a function (constructor)')
t.throws(function() { new Message }, 'Message requires a data buffer')
t.type(API.parse, 'function', 'parse function in the API')
t.type(API.stringify, 'function', 'stringify function in the API')
t.throws(function() { API.parse() }, 'Parse function needs a data buffer')
t.end()
})
test('Parse a valid query', function(t) {
var data = fs.readFileSync(DATA + '/www.company.example-query')
, msg = new Message(data)
t.ok(msg, 'Parsed a message with the object API')
msg = API.parse(data)
t.ok(msg, 'Parsed a message with the parse API')
t.end()
})
test('Parse a valid response', function(t) {
var data = fs.readFileSync(DATA + '/www.company.example-response')
, msg = new Message(data)
t.ok(msg, 'Parsed a message with the object API')
msg = API.parse(data)
t.ok(msg, 'Parsed a message with the parse API')
t.end()
})