1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#!/usr/bin/env bats
load helper
setup() {
$HDFS mkdir -p /_test_cmd/put/1
$HDFS mkdir -p /_test_cmd/put/test
$HDFS touch /_test_cmd/put/existing.txt
}
@test "put" {
run $HDFS put $ROOT_TEST_DIR/testdata/foo.txt /_test_cmd/put/1
assert_success
run $HDFS cat /_test_cmd/put/1/foo.txt
assert_output "bar"
}
@test "put long" {
run $HDFS put $ROOT_TEST_DIR/testdata/mobydick.txt /_test_cmd/put/1
assert_success
run bash -c "$HDFS cat /_test_cmd/put/1/mobydick.txt > $BATS_TMPDIR/mobydick_test.txt"
assert_success
SHA=`shasum < $ROOT_TEST_DIR/testdata/mobydick.txt | awk '{ print $1 }'`
assert_equal $SHA `shasum < $BATS_TMPDIR/mobydick_test.txt | awk '{ print $1 }'`
}
@test "put dir" {
run $HDFS put $ROOT_TEST_DIR/testdata /_test_cmd/put/test2
assert_success
run $HDFS cat /_test_cmd/put/test2/foo.txt
assert_output "bar"
run bash -c "$HDFS cat /_test_cmd/put/test2/mobydick.txt > $BATS_TMPDIR/mobydick_test.txt"
assert_success
SHA=`shasum < $ROOT_TEST_DIR/testdata/mobydick.txt | awk '{ print $1 }'`
assert_equal $SHA `shasum < $BATS_TMPDIR/mobydick_test.txt | awk '{ print $1 }'`
}
@test "put dir into dir" {
run $HDFS put $ROOT_TEST_DIR/testdata /_test_cmd/put/test
assert_success
run $HDFS cat /_test_cmd/put/test/testdata/foo.txt
assert_output "bar"
run bash -c "$HDFS cat /_test_cmd/put/test/testdata/mobydick.txt > $BATS_TMPDIR/mobydick_test.txt"
assert_success
SHA=`shasum < $ROOT_TEST_DIR/testdata/mobydick.txt | awk '{ print $1 }'`
assert_equal $SHA `shasum < $BATS_TMPDIR/mobydick_test.txt | awk '{ print $1 }'`
}
@test "put dir into file" {
run $HDFS put $ROOT_TEST_DIR/testdata /_test_cmd/put/existing.txt
assert_failure
assert_output <<OUT
mkdir /_test_cmd/put/existing.txt: file already exists
OUT
}
@test "put stdin" {
run bash -c "echo 'foo bar baz' | $HDFS put - /_test_cmd/put/stdin.txt"
assert_success
run $HDFS cat /_test_cmd/put/stdin.txt
assert_output "foo bar baz"
}
@test "put stdin long" {
run bash -c "cat $ROOT_TEST_DIR/testdata/mobydick.txt | $HDFS put - /_test_cmd/put/mobydick_stdin.txt"
assert_success
run bash -c "$HDFS cat /_test_cmd/put/mobydick_stdin.txt > $BATS_TMPDIR/mobydick_stdin_test.txt"
assert_success
SHA=`shasum < $ROOT_TEST_DIR/testdata/mobydick.txt | awk '{ print $1 }'`
assert_equal $SHA `shasum < $BATS_TMPDIR/mobydick_stdin_test.txt | awk '{ print $1 }'`
}
@test "put stdin into file" {
run bash -c "echo 'foo bar baz' | $HDFS put - /_test_cmd/put/existing.txt"
assert_failure
assert_output <<OUT
put /_test_cmd/put/existing.txt: file already exists
OUT
}
@test "put stdin into dir" {
run bash -c "echo 'foo bar baz' | $HDFS put - /_test_cmd/put/1"
assert_failure
assert_output <<OUT
put /_test_cmd/put/1: file already exists
OUT
}
teardown() {
$HDFS rm -r /_test_cmd/put
}
|