Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jio-main
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Hardik Juneja
jio-main
Commits
9c0c1922
Commit
9c0c1922
authored
Nov 04, 2016
by
Vincent Bechu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mappingstorage: catch error properly in put
parent
6cd7c2ab
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
196 additions
and
143 deletions
+196
-143
src/jio.storage/mappingstorage.js
src/jio.storage/mappingstorage.js
+56
-73
test/jio.storage/mappingstorage.tests.js
test/jio.storage/mappingstorage.tests.js
+139
-70
test/tests.html
test/tests.html
+1
-0
No files found.
src/jio.storage/mappingstorage.js
View file @
9c0c1922
/*jslint indent:2, maxlen: 80, nomen: true */
/*global jIO, RSVP, UriTemplate, SimpleQuery, ComplexQuery, QueryFactory,
Query*/
(
function
(
jIO
,
RSVP
)
{
(
function
(
jIO
,
RSVP
,
UriTemplate
,
SimpleQuery
,
ComplexQuery
,
QueryFactory
,
Query
)
{
"
use strict
"
;
function
MappingStorage
(
spec
)
{
...
...
@@ -52,18 +53,15 @@
function
getAttachmentId
(
storage
,
sub_id
,
attachment_id
,
method
)
{
var
mapping_dict
=
storage
.
_attachment_mapping_dict
;
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
if
(
mapping_dict
!==
undefined
&&
mapping_dict
[
attachment_id
]
!==
undefined
&&
mapping_dict
[
attachment_id
][
method
]
!==
undefined
&&
mapping_dict
[
attachment_id
][
method
].
uri_template
!==
undefined
)
{
return
UriTemplate
.
parse
(
mapping_dict
[
attachment_id
][
method
].
uri_template
).
expand
({
id
:
sub_id
});
}
return
attachment_id
;
});
if
(
mapping_dict
!==
undefined
&&
mapping_dict
[
attachment_id
]
!==
undefined
&&
mapping_dict
[
attachment_id
][
method
]
!==
undefined
&&
mapping_dict
[
attachment_id
][
method
].
uri_template
!==
undefined
)
{
return
UriTemplate
.
parse
(
mapping_dict
[
attachment_id
][
method
].
uri_template
).
expand
({
id
:
sub_id
});
}
return
attachment_id
;
}
function
getSubStorageId
(
storage
,
id
)
{
...
...
@@ -95,7 +93,10 @@
})
.
push
(
function
(
data
)
{
if
(
data
.
data
.
rows
.
length
===
0
)
{
return
undefined
;
throw
new
jIO
.
util
.
jIOError
(
"
Can not find id
"
,
404
);
}
if
(
data
.
data
.
rows
.
length
>
1
)
{
throw
new
TypeError
(
"
id must be unique field:
"
+
id
...
...
@@ -194,6 +195,23 @@
return
sub_doc
;
}
function
handleAttachment
(
context
,
argument_list
,
method
)
{
return
getSubStorageId
(
context
,
argument_list
[
0
])
.
push
(
function
(
sub_id
)
{
argument_list
[
0
]
=
sub_id
;
argument_list
[
1
]
=
getAttachmentId
(
context
,
sub_id
,
argument_list
[
1
],
method
);
return
context
.
_sub_storage
[
method
+
"
Attachment
"
].
apply
(
context
.
_sub_storage
,
argument_list
);
});
}
MappingStorage
.
prototype
.
get
=
function
(
id
)
{
var
context
=
this
;
return
getSubStorageId
(
this
,
id
)
...
...
@@ -202,10 +220,6 @@
})
.
push
(
function
(
sub_doc
)
{
return
mapToMainDocument
(
context
,
sub_doc
,
true
);
})
.
push
(
undefined
,
function
(
error
)
{
throw
new
jIO
.
util
.
jIOError
(
"
Cannot find document
"
+
id
+
"
, cause:
"
+
error
.
message
,
404
);
});
};
...
...
@@ -220,20 +234,18 @@
};
MappingStorage
.
prototype
.
put
=
function
(
id
,
doc
)
{
doc
.
id
=
id
;
var
context
=
this
,
sub_doc
=
mapToSubstorageDocument
(
this
,
doc
);
return
getSubStorageId
(
this
,
id
)
.
push
(
function
(
sub_id
)
{
if
(
context
.
_id_is_mapped
)
{
sub_doc
[
context
.
_mapping_dict
.
id
.
equal
]
=
id
;
}
if
(
id
===
undefined
)
{
throw
new
Error
();
}
return
context
.
_sub_storage
.
put
(
sub_id
,
sub_doc
);
})
.
push
(
undefined
,
function
()
{
return
context
.
_sub_storage
.
post
(
sub_doc
);
.
push
(
undefined
,
function
(
error
)
{
if
(
error
instanceof
jIO
.
util
.
jIOError
&&
error
.
status_code
===
404
)
{
return
context
.
_sub_storage
.
post
(
sub_doc
);
}
throw
error
;
})
.
push
(
function
()
{
return
id
;
...
...
@@ -252,48 +264,18 @@
};
MappingStorage
.
prototype
.
putAttachment
=
function
(
id
,
attachment_id
)
{
var
context
=
this
,
argument_list
=
arguments
;
return
getSubStorageId
(
context
,
id
)
.
push
(
function
(
sub_id
)
{
argument_list
[
0
]
=
sub_id
;
return
getAttachmentId
(
context
,
sub_id
,
attachment_id
,
"
put
"
);
})
.
push
(
function
(
sub_attachment_id
)
{
argument_list
[
1
]
=
sub_attachment_id
;
return
context
.
_sub_storage
.
putAttachment
.
apply
(
context
.
_sub_storage
,
argument_list
);
})
return
handleAttachment
(
this
,
arguments
,
"
put
"
,
id
)
.
push
(
function
()
{
return
attachment_id
;
});
};
MappingStorage
.
prototype
.
getAttachment
=
function
(
id
,
attachment_id
)
{
var
context
=
this
,
argument_list
=
arguments
;
return
getSubStorageId
(
context
,
id
)
.
push
(
function
(
sub_id
)
{
argument_list
[
0
]
=
sub_id
;
return
getAttachmentId
(
context
,
sub_id
,
attachment_id
,
"
get
"
);
})
.
push
(
function
(
sub_attachment_id
)
{
argument_list
[
1
]
=
sub_attachment_id
;
return
context
.
_sub_storage
.
getAttachment
.
apply
(
context
.
_sub_storage
,
argument_list
);
});
MappingStorage
.
prototype
.
getAttachment
=
function
()
{
return
handleAttachment
(
this
,
arguments
,
"
get
"
);
};
MappingStorage
.
prototype
.
removeAttachment
=
function
(
id
,
attachment_id
)
{
var
context
=
this
,
argument_list
=
arguments
;
return
getSubStorageId
(
context
,
id
)
.
push
(
function
(
sub_id
)
{
argument_list
[
0
]
=
sub_id
;
return
getAttachmentId
(
context
,
sub_id
,
attachment_id
,
"
remove
"
);
})
.
push
(
function
(
sub_attachment_id
)
{
argument_list
[
1
]
=
sub_attachment_id
;
return
context
.
_sub_storage
.
removeAttachment
.
apply
(
context
.
_sub_storage
,
argument_list
);
})
return
handleAttachment
(
this
,
arguments
,
"
remove
"
,
id
)
.
push
(
function
()
{
return
attachment_id
;
});
...
...
@@ -308,24 +290,25 @@
};
MappingStorage
.
prototype
.
bulk
=
function
(
id_list
)
{
var
i
,
context
=
this
,
mapped_result
=
[],
promise_list
=
id_list
.
map
(
function
(
parameter
)
{
return
getSubStorageId
(
context
,
parameter
.
parameter_list
[
0
])
.
push
(
function
(
id
)
{
return
{
"
method
"
:
parameter
.
method
,
"
parameter_list
"
:
[
id
]};
});
});
var
context
=
this
;
function
mapId
(
parameter
)
{
return
getSubStorageId
(
context
,
parameter
.
parameter_list
[
0
])
.
push
(
function
(
id
)
{
return
{
"
method
"
:
parameter
.
method
,
"
parameter_list
"
:
[
id
]};
});
}
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
var
promise_list
=
id_list
.
map
(
mapId
);
return
RSVP
.
all
(
promise_list
);
})
.
push
(
function
(
id_list_mapped
)
{
return
context
.
_sub_storage
.
bulk
(
id_list_mapped
);
})
.
push
(
function
(
result
)
{
var
mapped_result
=
[],
i
;
for
(
i
=
0
;
i
<
result
.
length
;
i
+=
1
)
{
mapped_result
.
push
(
mapToMainDocument
(
context
,
result
[
i
],
false
));
}
...
...
@@ -342,10 +325,10 @@
sort_on
=
[];
function
mapQuery
(
one_query
)
{
var
i
,
query_list
=
[];
var
j
,
query_list
=
[];
if
(
one_query
.
type
===
"
complex
"
)
{
for
(
i
=
0
;
i
<
one_query
.
query_list
.
length
;
i
+=
1
)
{
query_list
.
push
(
mapQuery
(
one_query
.
query_list
[
i
]));
for
(
j
=
0
;
j
<
one_query
.
query_list
.
length
;
j
+=
1
)
{
query_list
.
push
(
mapQuery
(
one_query
.
query_list
[
j
]));
}
one_query
.
query_list
=
query_list
;
return
one_query
;
...
...
@@ -430,4 +413,4 @@
};
jIO
.
addStorage
(
'
mapping
'
,
MappingStorage
);
}(
jIO
,
RSVP
));
\ No newline at end of file
}(
jIO
,
RSVP
,
UriTemplate
,
SimpleQuery
,
ComplexQuery
,
QueryFactory
,
Query
));
\ No newline at end of file
test/jio.storage/mappingstorage.tests.js
View file @
9c0c1922
...
...
@@ -23,7 +23,6 @@
// mappingStorage.constructor
/////////////////////////////////////////////////////////////////
module
(
"
mappingStorage.constructor
"
);
test
(
"
create substorage
"
,
function
()
{
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
...
...
@@ -34,10 +33,12 @@
ok
(
jio
.
__storage
.
_sub_storage
instanceof
jio
.
constructor
);
equal
(
jio
.
__storage
.
_sub_storage
.
__type
,
"
mappingstorage2713
"
);
deepEqual
(
jio
.
__storage
.
_mapping_dict
,
{});
deepEqual
(
jio
.
__storage
.
_attachment_mapping_dict
,
{});
deepEqual
(
jio
.
__storage
.
_query
,
{});
equal
(
jio
.
__storage
.
_map_all_property
,
true
);
});
test
(
"
accept parameters
"
,
function
()
{
...
...
@@ -58,13 +59,13 @@
equal
(
jio
.
__storage
.
_query
.
query
.
type
,
"
simple
"
);
deepEqual
(
jio
.
__storage
.
_attachment_mapping_dict
,
{
"
foo
"
:
{
"
get
"
:
"
bar
"
}});
equal
(
jio
.
__storage
.
_map_all_property
,
false
);
});
/////////////////////////////////////////////////////////////////
// mappingStorage.get
/////////////////////////////////////////////////////////////////
module
(
"
mappingStorage.get
"
);
test
(
"
get called substorage get
"
,
function
()
{
stop
();
expect
(
2
);
...
...
@@ -82,7 +83,6 @@
return
{
title
:
"
foo
"
};
};
start
();
jio
.
get
(
"
bar
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
...
...
@@ -91,6 +91,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -111,7 +114,6 @@
return
{
otherTitle
:
"
foo
"
};
};
start
();
jio
.
get
(
"
bar
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
...
...
@@ -119,6 +121,9 @@
});
}).
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -151,7 +156,6 @@
return
{
"
otherTitle
"
:
"
foo
"
};
};
start
();
jio
.
get
(
"
42
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
...
...
@@ -159,6 +163,9 @@
});
}).
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -196,7 +203,6 @@
return
{
"
otherTitle
"
:
"
foo
"
};
};
start
();
jio
.
get
(
"
42
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
...
...
@@ -204,6 +210,9 @@
});
}).
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -239,7 +248,6 @@
return
{
"
title
"
:
"
foo
"
};
};
start
();
jio
.
get
(
"
42
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
...
...
@@ -247,6 +255,9 @@
});
}).
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -273,19 +284,22 @@
return
id
;
};
start
();
jio
.
put
(
"
bar
"
,
{
"
title
"
:
"
foo
"
})
.
push
(
function
(
result
)
{
equal
(
result
,
"
bar
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
put with default values
"
,
function
()
{
stop
();
expect
(
3
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -300,19 +314,22 @@
return
id
;
};
start
();
jio
.
put
(
"
bar
"
,
{})
.
push
(
function
(
result
)
{
equal
(
result
,
"
bar
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
put with id and prop mapped
"
,
function
()
{
stop
();
expect
(
3
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -339,19 +356,22 @@
return
[];
};
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
})
.
push
(
function
(
result
)
{
equal
(
result
,
"
42
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
put with map_all_property
"
,
function
()
{
stop
();
expect
(
3
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -370,13 +390,15 @@
return
id
;
};
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
,
"
smth2
"
:
"
bar2
"
})
.
push
(
function
(
result
)
{
equal
(
result
,
"
42
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -388,24 +410,28 @@
test
(
"
remove with substorage remove
"
,
function
()
{
stop
();
expect
(
2
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
type
:
"
mappingstorage2713
"
}
});
Storage2713
.
prototype
.
remove
=
function
(
id
)
{
equal
(
id
,
"
bar
"
,
"
remove 2713 called
"
);
return
id
;
};
start
();
jio
.
remove
(
"
bar
"
,
{
"
title
"
:
"
foo
"
})
.
push
(
function
(
result
)
{
equal
(
result
,
"
bar
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -437,12 +463,14 @@
return
"
foo
"
;
};
start
();
jio
.
remove
(
"
42
"
)
.
push
(
function
(
result
)
{
equal
(
result
,
"
42
"
);
}).
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -454,6 +482,7 @@
test
(
"
post with mapped property
"
,
function
()
{
stop
();
expect
(
2
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -461,24 +490,28 @@
},
mapping_dict
:
{
"
title
"
:
{
"
equal
"
:
"
otherTitle
"
}}
});
Storage2713
.
prototype
.
post
=
function
(
doc
)
{
deepEqual
(
doc
,
{
"
otherTitle
"
:
"
foo
"
},
"
remove 2713 called
"
);
return
"
42
"
;
};
start
();
jio
.
post
({
"
title
"
:
"
foo
"
})
.
push
(
function
(
result
)
{
equal
(
result
,
"
42
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
post with id mapped
"
,
function
()
{
stop
();
expect
(
2
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -491,11 +524,13 @@
return
false
;
};
start
();
jio
.
post
({
"
title
"
:
"
foo
"
})
.
push
(
undefined
,
function
(
error
)
{
equal
(
error
.
message
,
"
post is not supported with id mapped
"
);
equal
(
error
.
status_code
,
400
);
})
.
always
(
function
()
{
start
();
});
});
/////////////////////////////////////////////////////////////////
...
...
@@ -511,8 +546,8 @@
sub_storage
:
{
type
:
"
mappingstorage2713
"
}
}),
blob
=
new
Blob
([
""
]);
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
putAttachment
=
function
(
doc_id
,
attachment_id
,
attachment
)
{
equal
(
doc_id
,
"
42
"
,
"
putAttachment 2713 called
"
);
...
...
@@ -521,28 +556,32 @@
return
doc_id
;
};
start
();
jio
.
putAttachment
(
"
42
"
,
"
2713
"
,
blob
)
.
push
(
function
(
result
)
{
equal
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
putAttachment with UriTemplate
"
,
function
()
{
stop
();
expect
(
4
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
type
:
"
mappingstorage2713
"
},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
put
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}}
}),
blob
=
new
Blob
([
""
]);
attachment_mapping_dict
:
{
"
2713
"
:
{
"
put
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}
}
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
putAttachment
=
function
(
doc_id
,
attachment_id
,
attachment
)
{
equal
(
doc_id
,
"
42
"
,
"
putAttachment 2713 called
"
);
...
...
@@ -551,13 +590,15 @@
return
doc_id
;
};
start
();
jio
.
putAttachment
(
"
42
"
,
"
2713
"
,
blob
)
.
push
(
function
(
result
)
{
equal
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -570,10 +611,10 @@
type
:
"
mappingstorage2713
"
},
mapping_dict
:
{
"
id
"
:
{
"
equal
"
:
"
otherId
"
}},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
put
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}
}}
}),
blob
=
new
Blob
([
""
]);
attachment_mapping_dict
:
{
"
2713
"
:
{
"
put
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}
}
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
putAttachment
=
function
(
id
,
attachment_id
,
attachment
)
{
...
...
@@ -592,13 +633,15 @@
return
[{
"
id
"
:
"
13
"
}];
};
start
();
jio
.
putAttachment
(
"
42
"
,
"
2713
"
,
blob
)
.
push
(
function
(
result
)
{
equal
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -606,7 +649,6 @@
// mappingStorage.getAttachment
/////////////////////////////////////////////////////////////////
module
(
"
mappingStorage.getAttachment
"
);
test
(
"
getAttachment use sub_storage one's
"
,
function
()
{
stop
();
expect
(
3
);
...
...
@@ -615,27 +657,30 @@
sub_storage
:
{
type
:
"
mappingstorage2713
"
}
}),
blob
=
new
Blob
([
""
]);
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
getAttachment
=
function
(
doc_id
,
attachment
)
{
equal
(
doc_id
,
"
42
"
,
"
getAttachment 2713 called
"
);
equal
(
attachment
,
"
2713
"
,
"
getAttachment 2713 called
"
);
return
blob
;
};
start
();
jio
.
getAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
blob
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
getAttachment using UriTemplate
"
,
function
()
{
stop
();
expect
(
3
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
...
...
@@ -644,37 +689,42 @@
attachment_mapping_dict
:
{
"
2713
"
:
{
"
get
"
:
{
"
uri_template
"
:
"
www.2713/{id}/ok.com
"
}}
}
}),
blob
=
new
Blob
([
""
]);
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
getAttachment
=
function
(
doc_id
,
attachment
)
{
equal
(
attachment
,
"
www.2713/42/ok.com
"
,
"
getAttachment 2713 called
"
);
equal
(
doc_id
,
"
42
"
,
"
getAttachment 2713 called
"
);
return
blob
;
};
start
();
jio
.
getAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
blob
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
test
(
"
getAttachment with UriTemplate and id mapped
"
,
function
()
{
stop
();
expect
(
4
);
var
jio
=
jIO
.
createJIO
({
type
:
"
mapping
"
,
sub_storage
:
{
type
:
"
mappingstorage2713
"
},
mapping_dict
:
{
"
id
"
:
{
"
equal
"
:
"
otherId
"
}},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
get
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}}
}),
blob
=
new
Blob
([
""
]);
mapping_dict
:
{
"
id
"
:
{
"
equal
"
:
"
otherId
"
}
},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
get
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}
}
}),
blob
=
new
Blob
([
""
]);
Storage2713
.
prototype
.
getAttachment
=
function
(
id
,
attachment_id
)
{
...
...
@@ -692,13 +742,15 @@
return
[{
"
id
"
:
"
13
"
}];
};
start
();
jio
.
getAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
blob
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -706,7 +758,6 @@
// mappingStorage.removeAttachment
/////////////////////////////////////////////////////////////////
module
(
"
mappingStorage.removeAttachment
"
);
test
(
"
removeAttachment use sub_storage one's
"
,
function
()
{
stop
();
expect
(
3
);
...
...
@@ -724,13 +775,15 @@
return
doc_id
;
};
start
();
jio
.
removeAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -743,8 +796,9 @@
sub_storage
:
{
type
:
"
mappingstorage2713
"
},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
remove
"
:
{
"
uri_template
"
:
"
www.2713/{id}.bar
"
}}}
attachment_mapping_dict
:
{
"
2713
"
:
{
"
remove
"
:
{
"
uri_template
"
:
"
www.2713/{id}.bar
"
}}
}
});
Storage2713
.
prototype
.
removeAttachment
=
function
(
doc_id
,
attachment
)
{
...
...
@@ -753,13 +807,15 @@
return
doc_id
;
};
start
();
jio
.
removeAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
deepEqual
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -773,8 +829,9 @@
type
:
"
mappingstorage2713
"
},
mapping_dict
:
{
"
id
"
:
{
"
equal
"
:
"
otherId
"
}},
attachment_mapping_dict
:
{
"
2713
"
:
{
"
remove
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}}
attachment_mapping_dict
:
{
"
2713
"
:
{
"
remove
"
:
{
"
uri_template
"
:
"
www.2713.foo/{id}
"
}}
}
});
Storage2713
.
prototype
.
removeAttachment
=
function
(
id
,
...
...
@@ -793,13 +850,15 @@
return
[{
"
id
"
:
"
13
"
}];
};
start
();
jio
.
removeAttachment
(
"
42
"
,
"
2713
"
)
.
push
(
function
(
result
)
{
equal
(
result
,
"
2713
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -825,13 +884,8 @@
map_all_property
:
true
});
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
return
jio
.
allDocs
({
query
:
'
(title: "foo") AND (smth: "bar")
'
,
select_list
:
[
"
title
"
,
"
smth
"
],
...
...
@@ -858,6 +912,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -883,20 +940,19 @@
}
});
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
.
push
(
function
()
{
return
jio
.
allDocs
({
query
:
'
(title: "foo") AND (smth: "bar")
'
,
select_list
:
[
"
title
"
,
"
smth
"
],
sort_on
:
[[
"
title
"
,
"
descending
"
]]
});
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
"
data
"
:
{
...
...
@@ -916,6 +972,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -940,16 +999,15 @@
}
});
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
.
push
(
function
()
{
return
jio
.
allDocs
();
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
"
data
"
:
{
...
...
@@ -966,6 +1024,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -991,19 +1052,18 @@
map_all_property
:
true
});
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
.
push
(
function
()
{
return
jio
.
allDocs
({
query
:
'
title: "foo"
'
,
select_list
:
[
"
title
"
,
"
smth
"
]
});
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
"
data
"
:
{
...
...
@@ -1020,6 +1080,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -1045,19 +1108,18 @@
}
});
start
();
jio
.
put
(
"
42
"
,
{
"
title
"
:
"
foo
"
,
"
smth
"
:
"
bar
"
})
.
push
(
function
()
{
.
push
(
function
()
{
return
jio
.
allDocs
({
query
:
'
title: "foo"
'
,
select_list
:
[
"
title
"
]
});
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
deepEqual
(
result
,
{
"
data
"
:
{
...
...
@@ -1074,6 +1136,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -1136,7 +1201,6 @@
];
};
start
();
jio
.
bulk
([{
method
:
"
get
"
,
parameter_list
:
[
"
id1
"
]
...
...
@@ -1161,6 +1225,9 @@
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
@@ -1186,13 +1253,15 @@
return
"
foobar
"
;
};
start
();
jio
.
repair
([
"
foo
"
,
"
bar
"
])
.
push
(
function
(
result
)
{
equal
(
result
,
"
foobar
"
,
"
Check repair
"
);
})
.
push
(
undefined
,
function
(
error
)
{
ok
(
false
,
error
);
})
.
always
(
function
()
{
start
();
});
});
...
...
test/tests.html
View file @
9c0c1922
...
...
@@ -28,6 +28,7 @@
<script
src=
"queries/key-jiodate.tests.js"
></script>
<!--script src="queries/key-localstorage.tests.js"></script-->
<script
src=
"jio.storage/memorystorage.tests.js"
></script>
<script
src=
"jio.storage/querystorage.tests.js"
></script>
<script
src=
"jio.storage/localstorage.tests.js"
></script>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment