Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50655 views
1
expect = require('expect')
2
3
misc_node = require('smc-util-node/misc_node')
4
5
{blob_store} = require('../jupyter-blobs')
6
7
describe 'very basic tests of the blob store -- ', ->
8
it 'gets a list of blobs (which should be empty)', ->
9
expect(blob_store.keys()).toEqual([])
10
11
# got via
12
# require('./jupyter').kernel(name:'sage-7.4', verbose:false).execute_code(code:'point((0,0), axes=False, figsize=1)', all:true, cb:(e,m)->console.log(m[2].content.data))
13
blob = 'iVBORw0KGgoAAAANSUhEUgAAAFkAAAA4CAYAAACWo1RQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAAQVJREFUeJzt2iEOwjAcRvEPwuSSSY4AbmbciFNxil0DhYNj4CeGmAAc\nCF7T8H7JkrXqn5emqqt5nufop9alB/gHRgYYGWBkgJEBRgYYGWBkgJEBRgYYGWBkgJEBRgYYGWBk\ngJEBRgYYGWBkgJEBRgYYGWBkwKb0AN+435PTafk/HpOuKzvPp1a1vCCapuRwSC6XZd33yfmcNE3Z\nuT5RTeTbLdnv3/eu12S3KzPPN6q5k7fbpG2f67Zd9mpQTeSuS8YxGYblG0fvZL2o5iTXzMgAIwOM\nDDAywMgAIwOMDDAywMgAIwOMDDAywMgAIwOMDDAywMgAIwOMDDAywMgAIwOMDDAy4AEJciLL9Myg\nZwAAAABJRU5ErkJggg==\n'
14
buffer = new Buffer(blob, 'base64')
15
sha1 = misc_node.sha1(buffer)
16
17
it 'saves a blob', ->
18
expect(blob_store.save(blob, 'image/png')).toBe(sha1)
19
expect(blob_store.keys()).toEqual([sha1])
20
21
it 'reads a blob', ->
22
expect(blob_store.get(sha1)).toEqual(buffer)
23
24
it 'saves that blob again to increase ref account', ->
25
expect(blob_store.save(blob, 'image/png')).toBe(sha1)
26
27
it 'removes that blob once', ->
28
blob_store.free(sha1)
29
# but it is still there!
30
expect(blob_store.keys()).toEqual([sha1])
31
32
it 'removes that blob once more', ->
33
blob_store.free(sha1)
34
# GONE
35
expect(blob_store.keys()).toEqual([])
36
37
it 'removes that blob once more (not an error)', ->
38
blob_store.free(sha1)
39
40