1
1
import assert from "node:assert" ;
2
2
import { createHmac } from "node:crypto" ;
3
- import { type ResolvedDatabaseReference , resolveDatabase } from "../../src/javascript/databases.js" ;
3
+ import { type ResolvedDatabaseReference , resolveDatabase , resolveDatabases } from "../../src/javascript/databases.js" ;
4
4
import type { DatabaseReference } from "../../src/javascript.js" ;
5
5
6
+ const exp = Date . UTC ( 2020 , 0 , 1 ) ;
7
+
8
+ const snow2 = {
9
+ name : "snow2" ,
10
+ type : "snowflake" ,
11
+ host : "localhost" ,
12
+ port : "2899" ,
13
+ ssl : "disabled" ,
14
+ origin : "http://127.0.0.1:3000" ,
15
+ secret : "0249f7ba6fff3856cb9868d115dbcd6b2ef51f1e9a55fdc6f7484013b7c191c5"
16
+ } ;
17
+
18
+ const env = {
19
+ OBSERVABLEHQ_DB_SECRET_snow2 : Buffer . from ( JSON . stringify ( snow2 ) , "utf-8" ) . toString ( "base64" )
20
+ } ;
21
+
6
22
describe ( "resolveDatabase" , ( ) => {
7
- const exp = Date . UTC ( 2020 , 0 , 1 ) ;
8
- const snow2 = {
9
- name : "snow2" ,
10
- type : "snowflake" ,
11
- host : "localhost" ,
12
- port : "2899" ,
13
- ssl : "disabled" ,
14
- origin : "http://127.0.0.1:3000" ,
15
- secret : "0249f7ba6fff3856cb9868d115dbcd6b2ef51f1e9a55fdc6f7484013b7c191c5"
16
- } ;
17
- const env = {
18
- OBSERVABLEHQ_DB_SECRET_snow2 : Buffer . from ( JSON . stringify ( snow2 ) , "utf-8" ) . toString ( "base64" )
19
- } ;
20
23
it ( "returns a resolved database reference" , async ( ) => {
21
24
const input : DatabaseReference = { name : "snow2" } ;
22
25
const output = resolveDatabase ( input , { env, exp} ) ;
@@ -37,9 +40,18 @@ describe("resolveDatabase", () => {
37
40
resolveDatabase ( input , { env} ) ;
38
41
assert . deepStrictEqual ( input , { name : "snow2" } ) ;
39
42
} ) ;
40
- it ( "returns an unresolved database reference when it can’t be resolved" , async ( ) => {
43
+ it ( "returns undefined when it can’t be resolved" , async ( ) => {
41
44
const input = { name : "notthere" } ;
42
- assert . strictEqual ( resolveDatabase ( input ) , input ) ;
45
+ assert . strictEqual ( resolveDatabase ( input ) , undefined ) ;
43
46
assert . deepStrictEqual ( input , { name : "notthere" } ) ;
44
47
} ) ;
45
48
} ) ;
49
+
50
+ describe ( "resolveDatabases" , ( ) => {
51
+ it ( "returns only resolved database references" , async ( ) => {
52
+ const notthere : DatabaseReference = { name : "notthere" } ;
53
+ const snow2 : DatabaseReference = { name : "snow2" } ;
54
+ const output = resolveDatabases ( [ notthere , snow2 ] , { env, exp} ) ;
55
+ assert . deepStrictEqual < ResolvedDatabaseReference [ ] > ( output , [ resolveDatabase ( snow2 , { env, exp} ) ! ] ) ;
56
+ } ) ;
57
+ } ) ;
0 commit comments