smarthash/test/test.ts

56 lines
2.0 KiB
TypeScript
Raw Permalink Normal View History

import { tap, expect } from '@pushrocks/tapbundle';
import fs = require('fs');
2016-08-16 01:37:40 +00:00
2019-07-04 14:56:37 +00:00
import * as smarthash from '../ts/index';
2016-08-16 01:37:40 +00:00
tap.test('sha256FromStringSync should convert a String to sha256 hash synchronously', async () => {
2019-07-04 14:56:37 +00:00
const testHash = smarthash.sha256FromStringSync('test');
const testHash2 = smarthash.sha256FromStringSync('testString');
const testHash3 = smarthash.sha256FromStringSync('test');
expect(testHash).to.equal(testHash3);
expect(testHash).to.not.equal('test');
});
tap.test('sha256fromStringSync should convert a String to sha256 hash synchronously', async () => {
2019-07-04 14:56:37 +00:00
const resultString = await smarthash.sha256FromString('test');
const compareString = smarthash.sha256FromStringSync('test');
expect(resultString).to.equal(compareString);
});
tap.test('sha256fromStream should convert a Stream to sha256', async tools => {
2019-07-04 14:56:37 +00:00
const readStream = fs.createReadStream('./test/testImageForHash.jpg');
const resultString: string = await smarthash.sha256FromStream(readStream);
expect(resultString).to.equal('45b80413ed93acb495691186ce61850449439f9183352b9bff96d5533fa1046c');
});
tap.test('sha256fromFile should convert a Stream to sha256', async () => {
2019-07-04 14:56:37 +00:00
const resultString = await smarthash.sha256FromFile('./test/testImageForHash.jpg');
expect(resultString).to.equal('45b80413ed93acb495691186ce61850449439f9183352b9bff96d5533fa1046c');
});
2019-07-04 14:56:37 +00:00
tap.test('should produce reproducible hash from Object', async () => {
const hash1 = await smarthash.sha265FromObject({
2019-11-21 14:20:57 +00:00
hithere: 1,
wow: 'two'
2019-07-04 14:56:37 +00:00
});
const hash2 = await smarthash.sha265FromObject({
2019-11-21 14:20:57 +00:00
wow: 'two',
hithere: 1
2019-07-04 14:56:37 +00:00
});
const hash3 = await smarthash.sha265FromObject({
2019-11-21 14:20:57 +00:00
wow: 'twoe',
hithere: 1
2019-07-04 14:56:37 +00:00
});
expect(hash1).to.equal(hash2);
expect(hash1).to.not.equal(hash3);
});
2019-11-21 14:17:48 +00:00
tap.test('should create md5hash from string', async () => {
const md5Hash = await smarthash.md5FromString('hellothere');
expect(md5Hash).to.equal('c6f7c372641dd25e0fddf0215375561f');
});
tap.start();