Skip to content

Commit

Permalink
Adds test for token config also
Browse files Browse the repository at this point in the history
  • Loading branch information
aspic committed Dec 17, 2020
1 parent a9f5959 commit 33dec8f
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 16 deletions.
2 changes: 1 addition & 1 deletion src/server/proxy.js
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,6 @@ function logObjectEntries(logger, title, object) {
}
// ---
// Log all initial settings for convenience
// ---
function logSettings(logger) {
logger("PROXY SETTINGS:\n-----------")
logger("Node url: " + node_url)
Expand Down Expand Up @@ -305,6 +304,7 @@ logSettings(console.log)
module.exports = {
logSettings: logSettings
}
// ---

// Read dpow and bpow credentials from file
// ---
Expand Down
12 changes: 9 additions & 3 deletions src/server/test/proxy_file.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,20 @@ const expectedSettingsWithFile = [
'Main log level: info'
]

const settingsPath = 'settings.json';
const filePath = 'settings.json';

beforeAll(() => {
fs.copyFileSync(`${filePath}.default`, filePath, )
})

test('log proxy settings with default config from file', () => {
let settings = []
fs.copyFileSync('settings.json.default', settingsPath, )
process.env.OVERRIDE_USE_HTTP = 'false'
require('../proxy').logSettings((setting) => settings.push(setting))
expect(settings.length).toBe(28);
expect(settings).toStrictEqual(expectedSettingsWithFile)
fs.unlinkSync(settingsPath)
})

afterAll(() => {
fs.unlinkSync(filePath)
})
21 changes: 21 additions & 0 deletions src/server/test/tokens_default.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const expectedDefaultSettings = [
'TOKEN SETTINGS:\n-----------',
'Work Server: http://127.0.0.1:7000',
'Token Price: 0.0001 Nano/token',
'Payment Timeout: 120',
'Pending Interval: 2',
'Pending Threshold: 1',
'Pending Max Count: 10',
'Difficulty Multiplier: 1.0',
'Min allowed tokens to purchase: 1',
'Max allowed tokens to purchase: 10000000',
'Token system log level: none'
]

test('log token settings with no config', () => {
let settings = []
require('../tokens').tokenLogSettings((setting) => settings.push(setting))
console.log(settings)
expect(settings.length).toBe(11);
expect(settings).toStrictEqual(expectedDefaultSettings)
});
33 changes: 33 additions & 0 deletions src/server/test/tokens_file.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
const fs = require('fs');

const expectedDefaultSettings = [
'TOKEN SETTINGS:\n-----------',
'Work Server: http://[::1]:7076',
'Token Price: 0.0001 Nano/token',
'Payment Timeout: 180',
'Pending Interval: 2',
'Pending Threshold: 100000000000000000000000',
'Pending Max Count: 10',
'Difficulty Multiplier: 1.0',
'Min allowed tokens to purchase: 1',
'Max allowed tokens to purchase: 10000000',
'Token system log level: info'
]

const filePath = 'token_settings.json';

beforeAll(() => {
fs.copyFileSync(`${filePath}.default`, filePath, )
})

test('log tokens settings with default config from file', () => {
let settings = []
require('../tokens').tokenLogSettings((setting) => settings.push(setting))
console.log(settings)
expect(settings.length).toBe(11);
expect(settings).toStrictEqual(expectedDefaultSettings)
});

afterAll(() => {
fs.unlinkSync(filePath)
})
29 changes: 17 additions & 12 deletions src/server/tokens.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,21 @@ catch(e) {

// Log all initial settings for convenience
// ---
console.log("TOKEN SETTINGS:\n-----------")
console.log("Work Server: " + work_server)
console.log("Token Price: " + token_price + " Nano/token")
console.log("Payment Timeout: " + payment_timeout)
console.log("Pending Interval: " + pending_interval)
console.log("Pending Threshold: " + pending_threshold)
console.log("Pending Max Count: " + pending_count)
console.log("Difficulty Multiplier: " + difficulty_multiplier)
console.log("Min allowed tokens to purchase: " + min_token_amount)
console.log("Max allowed tokens to purchase: " + max_token_amount)
console.log("Token system log level: " + log_level)
function tokenLogSettings(logger) {
logger("TOKEN SETTINGS:\n-----------")
logger("Work Server: " + work_server)
logger("Token Price: " + token_price + " Nano/token")
logger("Payment Timeout: " + payment_timeout)
logger("Pending Interval: " + pending_interval)
logger("Pending Threshold: " + pending_threshold)
logger("Pending Max Count: " + pending_count)
logger("Difficulty Multiplier: " + difficulty_multiplier)
logger("Min allowed tokens to purchase: " + min_token_amount)
logger("Max allowed tokens to purchase: " + max_token_amount)
logger("Token system log level: " + log_level)
}

tokenLogSettings(console.log)
// ---

const sleep = (milliseconds) => {
Expand Down Expand Up @@ -188,7 +192,8 @@ module.exports = {
repairOrder: async function(address, order_db, url) {
node_url = url
checkPending(address, order_db, false)
}
},
tokenLogSettings: tokenLogSettings,
}

// Check if order payment has arrived as a pending block, continue check at intervals until time is up. If continue is set to false it will only check one time
Expand Down

0 comments on commit 33dec8f

Please sign in to comment.