presidium 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/SecretsManager.js CHANGED
@@ -71,6 +71,27 @@ SecretsManager.prototype.getSecretValue = function (name) {
71
71
  }).promise()
72
72
  }
73
73
 
74
+ /**
75
+ * @name SecretsManager.prototype.getSecretValue
76
+ *
77
+ * @synopsis
78
+ * ```coffeescript [specscript]
79
+ * new SecretsManager(...).getSecretValue(name string) -> result Promise<{
80
+ * ARN: string,
81
+ * CreatedDate: Date,
82
+ * Name: string,
83
+ * SecretString: string,
84
+ * VersionId: string,
85
+ * VersionStages: Array<string>,
86
+ * }>
87
+ * ```
88
+ */
89
+ SecretsManager.prototype.getSecretString = function (name) {
90
+ return this.awsSecretsManager.getSecretValue({
91
+ SecretId: name,
92
+ }).promise().then(get('SecretString'))
93
+ }
94
+
74
95
  /**
75
96
  * @name SecretsManager.prototype.deleteSecret
76
97
  *
@@ -38,9 +38,12 @@ const test = new Test('SecretsManager', async function () {
38
38
  }
39
39
 
40
40
  try {
41
- const result = await secretsManager.getSecretValue(mySecret.name)
42
- assert.equal(result.Name, mySecret.name)
43
- assert.equal(result.SecretString, mySecret.value)
41
+ const result0 = await secretsManager.getSecretValue(mySecret.name)
42
+ assert.equal(result0.Name, mySecret.name)
43
+ assert.equal(result0.SecretString, mySecret.value)
44
+
45
+ const result1 = await secretsManager.getSecretString(mySecret.name)
46
+ assert.equal(result1, mySecret.value)
44
47
  } catch (error) {
45
48
  if (error.message.includes('marked for deletion')) {
46
49
  didRerunTooSoon = true
@@ -27,9 +27,22 @@ const healthyHttpHandler = function (request, response) {
27
27
  *
28
28
  * @synopsis
29
29
  * ```coffeescript [specscript]
30
+ * WebSocketServer(socketHandler (socket engine.Socket)=>Promise<>|())
31
+ * -> server WebSocketServer
32
+ *
30
33
  * WebSocketServer(
31
34
  * socketHandler (socket engine.Socket)=>Promise<>|(),
35
+ * options: {
36
+ * ssl: boolean,
37
+ * key: string,
38
+ * cert: string,
39
+ * },
32
40
  * ) -> server WebSocketServer
41
+ *
42
+ * WebSocketServer(
43
+ * socketHandler (socket engine.Socket)=>Promise<>|(),
44
+ * httpHandler: function,
45
+ * * ) -> server WebSocketServer
33
46
  * ```
34
47
  *
35
48
  * @description
@@ -5,6 +5,7 @@ const fs = require('fs')
5
5
  const WebSocketServer = require('./WebSocketServer')
6
6
  const WebSocket = require('./WebSocket')
7
7
  const https = require('https')
8
+ const sleep = require('./internal/sleep')
8
9
 
9
10
  const test0 = new Test('WebSocketServer', function (socketHandler, httpHandler) {
10
11
  this.clientMessages = []
@@ -97,7 +98,11 @@ const test1 = new Test(async () => {
97
98
  }
98
99
 
99
100
  { // ssl
100
- const server = new WebSocketServer(websocket => {}, {
101
+ const server = new WebSocketServer(websocket => {
102
+ websocket.on('message', message => {
103
+ websocket.send(message)
104
+ })
105
+ }, {
101
106
  ssl: true,
102
107
  cert: fs.readFileSync('./internal/all/my-private-root-ca.cert.pem'),
103
108
  key: fs.readFileSync('./internal/all/my-private-root-ca.privkey.pem'),
@@ -116,6 +121,25 @@ const test1 = new Test(async () => {
116
121
  const text = await response.text()
117
122
  assert.equal(text, 'ok')
118
123
  })
124
+
125
+ const websocket = new WebSocket('wss://localhost:1339/', { agent })
126
+ await new Promise(resolve => {
127
+ websocket.on('open', () => {
128
+ resolve()
129
+ })
130
+ })
131
+
132
+ const p = new Promise(resolve => {
133
+ websocket.on('message', message => {
134
+ console.log('received', message)
135
+ resolve(message)
136
+ })
137
+ })
138
+ websocket.send('test')
139
+ const message = await p
140
+ assert.equal(message.toString('utf8'), 'test')
141
+
142
+ websocket.close()
119
143
  server.close()
120
144
  }
121
145
  }).case()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presidium",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "A library for creating web services",
5
5
  "author": "Richard Tong",
6
6
  "license": "MIT",