summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shorin <kxepal@apache.org>2014-06-10 00:19:52 +0400
committerAlexander Shorin <kxepal@apache.org>2015-12-03 00:52:01 +0300
commit48034db04d38f61e9676163dc4fa6f18dbb0f9ae (patch)
tree3f0d1d23c2380d952b3a7b9cc12f51cc465d7405
parente722bd88b697955a47c208b2d4bf159255c399a7 (diff)
downloadcouchdb-48034db04d38f61e9676163dc4fa6f18dbb0f9ae.tar.gz
Port 230-pbkfd2.t etap test suite to eunit
-rw-r--r--test/couchdb/Makefile.am1
-rw-r--r--test/couchdb/couch_passwords_tests.erl54
-rw-r--r--test/etap/230-pbkfd2.t38
-rw-r--r--test/etap/Makefile.am1
4 files changed, 55 insertions, 39 deletions
diff --git a/test/couchdb/Makefile.am b/test/couchdb/Makefile.am
index c91304678..8eee16f3d 100644
--- a/test/couchdb/Makefile.am
+++ b/test/couchdb/Makefile.am
@@ -33,6 +33,7 @@ eunit_files = \
couch_doc_json_tests.erl \
couch_file_tests.erl \
couch_key_tree_tests.erl \
+ couch_passwords_tests.erl \
couch_ref_counter_tests.erl \
couch_stream_tests.erl \
couch_stats_tests.erl \
diff --git a/test/couchdb/couch_passwords_tests.erl b/test/couchdb/couch_passwords_tests.erl
new file mode 100644
index 000000000..116265cd1
--- /dev/null
+++ b/test/couchdb/couch_passwords_tests.erl
@@ -0,0 +1,54 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may not
+% use this file except in compliance with the License. You may obtain a copy of
+% the License at
+%
+% http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations under
+% the License.
+
+-module(couch_passwords_tests).
+
+-include("couch_eunit.hrl").
+
+
+pbkdf2_test_()->
+ {"PBKDF2",
+ [
+ {"Iterations: 1, length: 20",
+ ?_assertEqual(
+ {ok, <<"0c60c80f961f0e71f3a9b524af6012062fe037a6">>},
+ couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 1, 20))},
+
+ {"Iterations: 2, length: 20",
+ ?_assertEqual(
+ {ok, <<"ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957">>},
+ couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 2, 20))},
+
+ {"Iterations: 4096, length: 20",
+ ?_assertEqual(
+ {ok, <<"4b007901b765489abead49d926f721d065a429c1">>},
+ couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 4096, 20))},
+
+ {"Iterations: 4096, length: 25",
+ ?_assertEqual(
+ {ok, <<"3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038">>},
+ couch_passwords:pbkdf2(<<"passwordPASSWORDpassword">>,
+ <<"saltSALTsaltSALTsaltSALTsaltSALTsalt">>,
+ 4096, 25))},
+ {"Null byte",
+ ?_assertEqual(
+ {ok, <<"56fa6aa75548099dcc37d7f03425e0c3">>},
+ couch_passwords:pbkdf2(<<"pass\0word">>,
+ <<"sa\0lt">>,
+ 4096, 16))},
+
+ {timeout, 180, %% this may runs too long on slow hosts
+ {"Iterations: 16777216 - this may take some time",
+ ?_assertEqual(
+ {ok, <<"eefe3d61cd4da4e4e9945b3d6ba2158c2634e984">>},
+ couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 16777216, 20)
+ )}}]}.
diff --git a/test/etap/230-pbkfd2.t b/test/etap/230-pbkfd2.t
deleted file mode 100644
index d980ef698..000000000
--- a/test/etap/230-pbkfd2.t
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env escript
-%% -*- erlang -*-
-
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-main(_) ->
- test_util:init_code_path(),
- etap:plan(6),
- etap:is(couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 1, 20),
- {ok, <<"0c60c80f961f0e71f3a9b524af6012062fe037a6">>},
- "test vector #1"),
- etap:is(couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 2, 20),
- {ok, <<"ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957">>},
- "test vector #2"),
- etap:is(couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 4096, 20),
- {ok, <<"4b007901b765489abead49d926f721d065a429c1">>},
- "test vector #3"),
- etap:is(couch_passwords:pbkdf2(<<"passwordPASSWORDpassword">>,
- <<"saltSALTsaltSALTsaltSALTsaltSALTsalt">>, 4096, 25),
- {ok, <<"3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038">>},
- "test vector #4"),
- etap:is(couch_passwords:pbkdf2(<<"pass\0word">>, <<"sa\0lt">>, 4096, 16),
- {ok, <<"56fa6aa75548099dcc37d7f03425e0c3">>},
- "test vector #5"),
- etap:is(couch_passwords:pbkdf2(<<"password">>, <<"salt">>, 16777216, 20),
- {ok, <<"eefe3d61cd4da4e4e9945b3d6ba2158c2634e984">>},
- "test vector #6"),
- etap:end_tests().
diff --git a/test/etap/Makefile.am b/test/etap/Makefile.am
index e05a0ad13..a6ff3682c 100644
--- a/test/etap/Makefile.am
+++ b/test/etap/Makefile.am
@@ -32,7 +32,6 @@ fixture_files = \
fixtures/test.couch
tap_files = \
- 230-pbkfd2.t \
231-cors.t \
250-upgrade-legacy-view-files.t