File: put.bats

package info (click to toggle)
golang-github-colinmarc-hdfs 2.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 3,760 kB
  • sloc: sh: 130; xml: 40; makefile: 31
file content (104 lines) | stat: -rw-r--r-- 2,849 bytes parent folder | download
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
}