import { expect, tap } from '@git.zone/tstest/tapbundle'; import * as smartdns from '../ts_client/index.js'; let testDnsClient: smartdns.Smartdns; tap.test('should create an instance of Dnsly', async () => { testDnsClient = new smartdns.Smartdns({}); expect(testDnsClient).toBeInstanceOf(smartdns.Smartdns); }); tap.test('should get an A DNS Record', async () => { const records = await testDnsClient.getRecordsA('google.com'); expect(records).toBeInstanceOf(Array); expect(records.length).toBeGreaterThan(0); expect(records[0]).toHaveProperty('name', 'google.com'); expect(records[0]).toHaveProperty('type', 'A'); expect(records[0]).toHaveProperty('value'); expect(records[0]).toHaveProperty('dnsSecEnabled'); }); tap.test('should get an AAAA Record', async () => { const records = await testDnsClient.getRecordsAAAA('google.com'); expect(records).toBeInstanceOf(Array); expect(records.length).toBeGreaterThan(0); expect(records[0]).toHaveProperty('name', 'google.com'); expect(records[0]).toHaveProperty('type', 'AAAA'); expect(records[0]).toHaveProperty('value'); expect(records[0]).toHaveProperty('dnsSecEnabled'); }); tap.test('should get a txt record', async () => { const records = await testDnsClient.getRecordsTxt('google.com'); expect(records).toBeInstanceOf(Array); expect(records.length).toBeGreaterThan(0); expect(records[0]).toHaveProperty('name', 'google.com'); expect(records[0]).toHaveProperty('type', 'TXT'); expect(records[0]).toHaveProperty('value'); expect(records[0]).toHaveProperty('dnsSecEnabled'); }); tap.test('should, get a mx record for a domain', async () => { const res = await testDnsClient.getRecords('bleu.de', 'MX'); console.log(res); }); tap.test('should check until DNS is available', async () => { const records = await testDnsClient.getRecordsTxt('google.com'); if (records.length > 0) { const result = await testDnsClient.checkUntilAvailable('google.com', 'TXT', records[0].value); expect(result).toBeTrue(); } }); tap.test('should check until DNS is available an return false if it fails', async () => { return expect( await testDnsClient.checkUntilAvailable('google.com', 'TXT', 'this-txt-record-does-not-exist') ).toBeFalse(); }); tap.test('should check until DNS is available an return false if it fails', async () => { return expect( await testDnsClient.checkUntilAvailable('nonexistent.example.com', 'TXT', 'sometext_txt2') ).toBeFalse(); }); tap.test('should get name server for hostname', async () => { let result = await testDnsClient.getNameServers('bleu.de'); console.log(result); }); tap.test('should detect dns sec', async () => { const result = await testDnsClient.getRecordsA('lossless.com'); console.log(result[0]); expect(result[0].dnsSecEnabled).toBeTrue(); }); export default tap.start();