revenc 0.1.3 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/.gemfiles +53 -0
  2. data/.gitignore +4 -8
  3. data/Gemfile.lock +42 -37
  4. data/HISTORY.markdown +9 -2
  5. data/LICENSE +1 -1
  6. data/README.markdown +33 -38
  7. data/Rakefile +24 -34
  8. data/TODO.markdown +3 -0
  9. data/VERSION +1 -1
  10. data/bin/revenc +30 -13
  11. data/config/cucumber.yml +4 -3
  12. data/examples/rsync/encrypted_data/key/encfs6.xml +27 -27
  13. data/examples/rsync/revenc.conf +2 -2
  14. data/examples/simple/encfs6.xml +27 -27
  15. data/features/app.feature +17 -17
  16. data/features/bin.feature +6 -6
  17. data/features/configuration.feature +9 -9
  18. data/features/copy.feature +15 -12
  19. data/features/generator.feature +1 -1
  20. data/features/mount.feature +14 -14
  21. data/features/settings.feature +119 -0
  22. data/features/step_definitions/revenc_steps.rb +1 -2
  23. data/features/support/aruba.rb +9 -9
  24. data/features/support/env.rb +8 -2
  25. data/features/unmount.feature +8 -8
  26. data/lib/revenc.rb +12 -3
  27. data/lib/revenc/app.rb +27 -53
  28. data/lib/revenc/core/array.rb +11 -0
  29. data/lib/revenc/core/hash.rb +45 -0
  30. data/lib/revenc/encfs_wrapper.rb +20 -24
  31. data/lib/revenc/errors.rb +3 -3
  32. data/lib/revenc/io.rb +13 -13
  33. data/lib/revenc/settings.rb +98 -0
  34. data/revenc.gemspec +28 -17
  35. data/spec/aruba_helper.rb +25 -0
  36. data/spec/basic_app/array_spec.rb +48 -0
  37. data/spec/basic_gem/aruba_helper_spec.rb +33 -0
  38. data/spec/basic_gem/basic_gem_spec.rb +71 -1
  39. data/spec/basic_gem/gemspec_spec.rb +68 -0
  40. data/spec/revenc/error_spec.rb +2 -2
  41. data/spec/revenc/io_spec.rb +12 -12
  42. data/spec/spec_helper.rb +4 -9
  43. data/spec/watchr.rb +48 -26
  44. metadata +120 -177
  45. data/.yardopts +0 -6
  46. data/spec/spec.opts +0 -2
@@ -1,7 +1,8 @@
1
1
  <%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format pretty features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "#{rerun_opts} --format rerun --out rerun.txt --strict --tags ~@wip"
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
5
  %>
6
- default: <%= std_opts %>
6
+ default: <%= std_opts %> features
7
7
  wip: --tags @wip:3 --wip features
8
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -2,34 +2,34 @@
2
2
  <!DOCTYPE boost_serialization>
3
3
  <boost_serialization signature="serialization::archive" version="4">
4
4
  <config class_id="0" tracking_level="1" version="20080816" object_id="_0">
5
- <creator>EncFS 1.5</creator>
6
- <cipherAlg class_id="1" tracking_level="0" version="0">
7
- <name>ssl/aes</name>
8
- <major>2</major>
9
- <minor>2</minor>
10
- </cipherAlg>
11
- <nameAlg>
12
- <name>nameio/null</name>
13
- <major>1</major>
14
- <minor>0</minor>
15
- </nameAlg>
16
- <keySize>128</keySize>
17
- <blockSize>1024</blockSize>
18
- <uniqueIV>0</uniqueIV>
19
- <chainedNameIV>0</chainedNameIV>
20
- <externalIVChaining>0</externalIVChaining>
21
- <blockMACBytes>0</blockMACBytes>
22
- <blockMACRandBytes>0</blockMACRandBytes>
23
- <allowHoles>1</allowHoles>
24
- <encodedKeySize>36</encodedKeySize>
25
- <encodedKeyData>
5
+ <creator>EncFS 1.5</creator>
6
+ <cipherAlg class_id="1" tracking_level="0" version="0">
7
+ <name>ssl/aes</name>
8
+ <major>2</major>
9
+ <minor>2</minor>
10
+ </cipherAlg>
11
+ <nameAlg>
12
+ <name>nameio/null</name>
13
+ <major>1</major>
14
+ <minor>0</minor>
15
+ </nameAlg>
16
+ <keySize>128</keySize>
17
+ <blockSize>1024</blockSize>
18
+ <uniqueIV>0</uniqueIV>
19
+ <chainedNameIV>0</chainedNameIV>
20
+ <externalIVChaining>0</externalIVChaining>
21
+ <blockMACBytes>0</blockMACBytes>
22
+ <blockMACRandBytes>0</blockMACRandBytes>
23
+ <allowHoles>1</allowHoles>
24
+ <encodedKeySize>36</encodedKeySize>
25
+ <encodedKeyData>
26
26
  unVmAfPQFd5t4cakBxbE7uosu4tzZbo8B513iGGNynzArOKM=
27
- </encodedKeyData>
28
- <saltLen>20</saltLen>
29
- <saltData>
27
+ </encodedKeyData>
28
+ <saltLen>20</saltLen>
29
+ <saltData>
30
30
  IcFy11sZw/w7juCI+Cro8AZVp6Q
31
- </saltData>
32
- <kdfIterations>97493</kdfIterations>
33
- <desiredKDFDuration>500</desiredKDFDuration>
31
+ </saltData>
32
+ <kdfIterations>97493</kdfIterations>
33
+ <desiredKDFDuration>500</desiredKDFDuration>
34
34
  </config>
35
35
  </boost_serialization>
@@ -7,12 +7,12 @@ mount:
7
7
  name: scripts/passphrase
8
8
  keyfile:
9
9
  name: encrypted_data/key/encfs6.xml
10
- cmd: cat <%%= passphrasefile.name %> | ENCFS6_CONFIG=<%%= keyfile.name %> <%%= executable %> --stdinpass --reverse <%%= source.name %> <%%= mountpoint.name %> -- -o ro
10
+ cmd: cat <%= passphrasefile.name %> | ENCFS6_CONFIG=<%= keyfile.name %> <%= executable %> --stdinpass --reverse <%= source.name %> <%= mountpoint.name %> -- -o ro
11
11
  copy:
12
12
  source:
13
13
  name: encrypted_data # sync the encrypted data as well as the key
14
14
  destination:
15
15
  name: copy_destination # could be a remote host instead of a folder, i.e. user1@example.com:backups/here
16
16
  executable: rsync
17
- cmd: <%%= executable %> --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%%= source.name %> <%%= destination.name %>
17
+ cmd: <%= executable %> --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%= source.name %> <%= destination.name %>
18
18
 
@@ -2,34 +2,34 @@
2
2
  <!DOCTYPE boost_serialization>
3
3
  <boost_serialization signature="serialization::archive" version="4">
4
4
  <config class_id="0" tracking_level="1" version="20080816" object_id="_0">
5
- <creator>EncFS 1.5</creator>
6
- <cipherAlg class_id="1" tracking_level="0" version="0">
7
- <name>ssl/aes</name>
8
- <major>2</major>
9
- <minor>2</minor>
10
- </cipherAlg>
11
- <nameAlg>
12
- <name>nameio/null</name>
13
- <major>1</major>
14
- <minor>0</minor>
15
- </nameAlg>
16
- <keySize>128</keySize>
17
- <blockSize>1024</blockSize>
18
- <uniqueIV>0</uniqueIV>
19
- <chainedNameIV>0</chainedNameIV>
20
- <externalIVChaining>0</externalIVChaining>
21
- <blockMACBytes>0</blockMACBytes>
22
- <blockMACRandBytes>0</blockMACRandBytes>
23
- <allowHoles>1</allowHoles>
24
- <encodedKeySize>36</encodedKeySize>
25
- <encodedKeyData>
5
+ <creator>EncFS 1.5</creator>
6
+ <cipherAlg class_id="1" tracking_level="0" version="0">
7
+ <name>ssl/aes</name>
8
+ <major>2</major>
9
+ <minor>2</minor>
10
+ </cipherAlg>
11
+ <nameAlg>
12
+ <name>nameio/null</name>
13
+ <major>1</major>
14
+ <minor>0</minor>
15
+ </nameAlg>
16
+ <keySize>128</keySize>
17
+ <blockSize>1024</blockSize>
18
+ <uniqueIV>0</uniqueIV>
19
+ <chainedNameIV>0</chainedNameIV>
20
+ <externalIVChaining>0</externalIVChaining>
21
+ <blockMACBytes>0</blockMACBytes>
22
+ <blockMACRandBytes>0</blockMACRandBytes>
23
+ <allowHoles>1</allowHoles>
24
+ <encodedKeySize>36</encodedKeySize>
25
+ <encodedKeyData>
26
26
  BjZ2dl0VE8ezDBvAwgxLo1ODmnrLlawYrlfhG8Fe3wcQBzZu=
27
- </encodedKeyData>
28
- <saltLen>20</saltLen>
29
- <saltData>
27
+ </encodedKeyData>
28
+ <saltLen>20</saltLen>
29
+ <saltData>
30
30
  tPmiXlNgrbvvSlnGcqe4aCjGWGY
31
- </saltData>
32
- <kdfIterations>83342</kdfIterations>
33
- <desiredKDFDuration>500</desiredKDFDuration>
31
+ </saltData>
32
+ <kdfIterations>83342</kdfIterations>
33
+ <desiredKDFDuration>500</desiredKDFDuration>
34
34
  </config>
35
35
  </boost_serialization>
@@ -2,21 +2,21 @@
2
2
  Feature: Application actions, configuration and error handling
3
3
 
4
4
  As an interactive user or automated script
5
- The application should accept actions and report errors
5
+ The application should accept actions and report errors
6
6
 
7
7
  Scenario: No command line action
8
- When I run "revenc"
8
+ When I run `revenc`
9
9
  Then the exit status should be 1
10
- And the output should match:
10
+ And the output should match:
11
11
  """
12
12
  ^.* action required
13
13
  ^.* --help for more information
14
14
  """
15
15
 
16
16
  Scenario: Invalid action
17
- When I run "revenc non-existing-action"
17
+ When I run `revenc non-existing-action`
18
18
  Then the exit status should be 1
19
- And the output should match:
19
+ And the output should match:
20
20
  """
21
21
  ^.* invalid action: non-existing-action
22
22
  ^.* --help for more information
@@ -25,35 +25,35 @@ Feature: Application actions, configuration and error handling
25
25
 
26
26
  Scenario: --config FILE (exists)
27
27
  Given an empty file named "config.conf"
28
- When I run "revenc mount --verbose --config config.conf"
29
- Then the output should contain:
28
+ When I run `revenc mount --verbose --config config.conf`
29
+ Then the output should contain:
30
30
  """
31
- loading config file: config.conf
31
+ config file: config.conf
32
32
  """
33
33
 
34
34
  Scenario: --config FILE (not found)
35
- When I run "revenc mount --verbose --config config.conf"
36
- Then the output should not contain:
35
+ When I run `revenc mount --verbose --config config.conf`
36
+ Then the output should not contain:
37
37
  """
38
- loading config file: config.conf
38
+ config file: config.conf
39
39
  """
40
- And the output should contain:
40
+ And the output should contain:
41
41
  """
42
- config file not found
42
+ config file not found
43
43
  """
44
44
 
45
45
  Scenario: Backtrace with --verbose option
46
- When I run "revenc --verbose mount bad_source bad_dest"
46
+ When I run `revenc --verbose mount bad_source bad_dest`
47
47
  Then the exit status should be 1
48
- And the output should match:
48
+ And the output should match:
49
49
  """
50
50
  lib/(.*)/app.rb
51
51
  """
52
52
 
53
53
  Scenario: No backtrace without --verbose option
54
- When I run "revenc mount bad_source bad_dest --no-verbose"
54
+ When I run `revenc mount bad_source bad_dest --no-verbose`
55
55
  Then the exit status should be 1
56
- And the output should not contain:
56
+ And the output should not contain:
57
57
  """
58
58
  /app.rb:
59
59
  """
@@ -3,18 +3,18 @@ Feature: Options via a command line interface (CLI)
3
3
 
4
4
  As an interactive user or automated script
5
5
  The application should accept options on the command line
6
- These options should override hard coded defaults
6
+ These options should override hard coded defaults
7
7
  In order to configure options
8
8
 
9
9
  Scenario: Version info
10
- When I run "revenc --version"
10
+ When I run `revenc --version`
11
11
  Then the exit status should be 0
12
12
  And the output should match /revenc, version ([\d]+\.[\d]+\.[\d]+$)/
13
13
 
14
14
  Scenario: Help
15
- When I run "revenc --help"
15
+ When I run `revenc --help`
16
16
  Then the exit status should be 0
17
- And the output should match:
17
+ And the output should match:
18
18
  """
19
19
  .*
20
20
  Usage: .*
@@ -25,9 +25,9 @@ Feature: Options via a command line interface (CLI)
25
25
  """
26
26
 
27
27
  Scenario: Invalid option
28
- When I run "revenc --non-existing-option"
28
+ When I run `revenc --non-existing-option`
29
29
  Then the exit status should be 1
30
- And the output should match:
30
+ And the output should match:
31
31
  """
32
32
  ^.* invalid option: --non-existing-option
33
33
  ^.* --help for more information
@@ -19,23 +19,23 @@ Feature: Configuration via yaml file
19
19
  keyfile:
20
20
  name: encfs6.xml
21
21
  executable: echo
22
- cmd: cat <%%= passphrasefile.name %> | ENCFS6_CONFIG=<%%= keyfile.name %> <%%= executable %> --stdinpass --reverse <%%= source.name %> <%%= mountpoint.name %> -- -o ro
22
+ cmd: cat <%= passphrasefile.name %> | ENCFS6_CONFIG=<%= keyfile.name %> <%= executable %> --stdinpass --reverse <%= source.name %> <%= mountpoint.name %> -- -o ro
23
23
  unmount:
24
24
  mountpoint:
25
25
  name: defaults_to_mount_mountpoint
26
26
  executable: echo
27
- cmd: <%%= executable %> -u <%%= name %>
27
+ cmd: <%= executable %> -u <%= name %>
28
28
  copy:
29
29
  source:
30
30
  name: copy_source_defaults_to_mount_mountpoint
31
31
  destination:
32
32
  name: copy_to_destination
33
33
  executable: echo
34
- cmd: <%%= executable %> -e ssh --bwlimit=16 --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%%= source.name %> <%%= destination.name %>
34
+ cmd: <%= executable %> -e ssh --bwlimit=16 --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%= source.name %> <%= destination.name %>
35
35
  """
36
36
 
37
37
  Scenario: Mount with a config file
38
- When I run "revenc --verbose --dry-run mount"
38
+ When I run `revenc --verbose --dry-run mount`
39
39
  Then the output should contain:
40
40
  """
41
41
  mount: source=source_folder_name
@@ -47,7 +47,7 @@ Feature: Configuration via yaml file
47
47
  """
48
48
 
49
49
  Scenario: Unmount with a config file
50
- When I run "revenc unmount --verbose --dry-run"
50
+ When I run `revenc unmount --verbose --dry-run`
51
51
  Then the output should contain:
52
52
  """
53
53
  unmount: mountpoint=defaults_to_mount_mountpoint
@@ -55,21 +55,21 @@ Feature: Configuration via yaml file
55
55
  unmount: executable=/bin/echo
56
56
  """
57
57
 
58
- Scenario: Unmount with a config file missing unmount.mountpoint
58
+ Scenario: Unmount with a config file missing unmount.mountpoint
59
59
  Given a file named "revenc.conf" with:
60
60
  """
61
61
  mount:
62
62
  mountpoint:
63
63
  name: unmount_mountpoint_defaults_to_me
64
64
  """
65
- When I run "revenc unmount --verbose --dry-run"
65
+ When I run `revenc unmount --verbose --dry-run`
66
66
  Then the output should contain:
67
67
  """
68
68
  unmount: mountpoint=unmount_mountpoint_defaults_to_me
69
69
  """
70
70
 
71
71
  Scenario: Copy with a config file
72
- When I run "revenc copy --verbose --dry-run"
72
+ When I run `revenc copy --verbose --dry-run`
73
73
  Then the output should contain:
74
74
  """
75
75
  copy: source=copy_source_defaults_to_mount_mountpoint
@@ -88,7 +88,7 @@ Feature: Configuration via yaml file
88
88
  destination:
89
89
  name: copy_to_destination
90
90
  """
91
- When I run "revenc copy --verbose --dry-run"
91
+ When I run `revenc copy --verbose --dry-run`
92
92
  Then the output should contain:
93
93
  """
94
94
  copy: source=copy_source_defaults_to_me
@@ -6,7 +6,7 @@ Feature: Copy encrypted data to another location via rsync
6
6
  And lock the process to prevent automated recursion on long running copy commands
7
7
  In order to backup the data and allow recovery of the unencrypted data
8
8
 
9
- Scenario: Sucessful copy
9
+ Scenario: Successful copy with non-default ERB copy cmd
10
10
  Given a directory named "encrypted_source_folder"
11
11
  Given a directory named "encrypted_destination"
12
12
  Given an empty file named "encrypted_source_folder/test_data1.txt"
@@ -16,14 +16,17 @@ Feature: Copy encrypted data to another location via rsync
16
16
  mount:
17
17
  mountpoint:
18
18
  name: encrypted_source_folder
19
+ copy:
20
+ executable: cp
21
+ cmd: <%= executable %> -r <%= source.name %> <%= destination.name %>
19
22
  """
20
- When I run "revenc copy encrypted_source_folder encrypted_destination"
23
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
21
24
  Then the exit status should be 0
22
25
  And the following files should exist:
23
26
  | encrypted_destination/encrypted_source_folder/test_data1.txt |
24
27
  | encrypted_destination/encrypted_source_folder/test_data2.txt |
25
28
 
26
- Scenario: Sucessful copy dry run
29
+ Scenario: Successful copy dry run
27
30
  Given a directory named "encrypted_source_folder"
28
31
  Given a directory named "encrypted_destination"
29
32
  Given an empty file named "encrypted_source_folder/test_data1.txt"
@@ -34,7 +37,7 @@ Feature: Copy encrypted data to another location via rsync
34
37
  mountpoint:
35
38
  name: encrypted_source_folder
36
39
  """
37
- When I run "revenc copy --dry-run encrypted_source_folder encrypted_destination"
40
+ When I run `revenc copy --dry-run encrypted_source_folder encrypted_destination`
38
41
  Then the exit status should be 0
39
42
  And the following files should not exist:
40
43
  | encrypted_destination/encrypted_source_folder/test_data1.txt |
@@ -58,7 +61,7 @@ Feature: Copy encrypted data to another location via rsync
58
61
  """
59
62
 
60
63
  Scenario: Source folder not specified
61
- When I run "revenc copy"
64
+ When I run `revenc copy`
62
65
  Then the exit status should be 1
63
66
  And the output should contain:
64
67
  """
@@ -66,7 +69,7 @@ Feature: Copy encrypted data to another location via rsync
66
69
  """
67
70
 
68
71
  Scenario: Destination not specified
69
- When I run "revenc copy encrypted_source_folder"
72
+ When I run `revenc copy encrypted_source_folder`
70
73
  Then the exit status should be 1
71
74
  And the output should contain:
72
75
  """
@@ -74,7 +77,7 @@ Feature: Copy encrypted data to another location via rsync
74
77
  """
75
78
 
76
79
  Scenario: Source folder doesn't exist
77
- When I run "revenc copy encrypted_source_folder encrypted_destination"
80
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
78
81
  Then the exit status should be 1
79
82
  And the output should contain:
80
83
  """
@@ -83,7 +86,7 @@ Feature: Copy encrypted data to another location via rsync
83
86
 
84
87
  Scenario: Source folder is empty
85
88
  Given a directory named "encrypted_source_folder"
86
- When I run "revenc copy encrypted_source_folder encrypted_destination"
89
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
87
90
  Then the exit status should be 1
88
91
  And the output should contain:
89
92
  """
@@ -106,7 +109,7 @@ Feature: Copy encrypted data to another location via rsync
106
109
  destination:
107
110
  name: copy_to_destination
108
111
  """
109
- When I run "revenc copy --verbose --dry-run"
112
+ When I run `revenc copy --verbose --dry-run`
110
113
  Then the output should contain:
111
114
  """
112
115
  mountpoint is empty
@@ -127,7 +130,7 @@ Feature: Copy encrypted data to another location via rsync
127
130
  destination:
128
131
  name: copy_to_destination
129
132
  """
130
- When I run "revenc copy --verbose --dry-run"
133
+ When I run `revenc copy --verbose --dry-run`
131
134
  Then the output should contain:
132
135
  """
133
136
  mountpoint not found
@@ -145,7 +148,7 @@ Feature: Copy encrypted data to another location via rsync
145
148
  destination:
146
149
  name: copy_to_destination
147
150
  """
148
- When I run "revenc copy --verbose --dry-run"
151
+ When I run `revenc copy --verbose --dry-run`
149
152
  Then the output should not contain:
150
153
  """
151
154
  mountpoint not found
@@ -161,7 +164,7 @@ Feature: Copy encrypted data to another location via rsync
161
164
  copy:
162
165
  executable: missing_bin_file
163
166
  """
164
- When I run "revenc copy encrypted_source_folder encrypted_destination"
167
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
165
168
  Then the exit status should be 1
166
169
  And the output should contain:
167
170
  """
@@ -6,7 +6,7 @@ Feature: Generate config files
6
6
  To save the hassle of manual config file creation
7
7
  And provide reasonable starting default values
8
8
 
9
- Scenario: Sucessful generate
9
+ Scenario: Successful generate
10
10
 
11
11
  Scenario: Config file already exists
12
12
 
@@ -1,9 +1,9 @@
1
1
  @announce
2
2
  Feature: Reverse mount encrypted folder using encfs
3
3
 
4
- As a user with unencrypted data
4
+ As a user with unencrypted data
5
5
  I need to mount an encrypted folder from an unencrypted folder
6
- In order to backup the encrypted folder to untrusted systems
6
+ In order to backup the encrypted folder to untrusted systems
7
7
 
8
8
  @unmount_after
9
9
  Scenario: Successful mount
@@ -15,7 +15,7 @@ Feature: Reverse mount encrypted folder using encfs
15
15
  """
16
16
  test
17
17
  """
18
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
18
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
19
19
  Then the output should not contain "For more information, see the man page encfs(1)"
20
20
  And the exit status should be 0
21
21
 
@@ -28,12 +28,12 @@ Feature: Reverse mount encrypted folder using encfs
28
28
  """
29
29
  test
30
30
  """
31
- When I run "revenc --dry-run mount unencrypted_source_folder encrypted_destination_folder"
31
+ When I run `revenc --dry-run mount unencrypted_source_folder encrypted_destination_folder`
32
32
  Then the exit status should be 0
33
33
  And the folder "encrypted_destination_folder" should not be mounted
34
34
 
35
35
  Scenario: Source folder not specified
36
- When I run "revenc mount"
36
+ When I run `revenc mount`
37
37
  Then the exit status should be 1
38
38
  And the output should contain:
39
39
  """
@@ -41,7 +41,7 @@ Feature: Reverse mount encrypted folder using encfs
41
41
  """
42
42
 
43
43
  Scenario: Destination mount point not specified
44
- When I run "revenc mount unencrypted_source_folder"
44
+ When I run `revenc mount unencrypted_source_folder`
45
45
  Then the exit status should be 1
46
46
  And the output should contain:
47
47
  """
@@ -50,7 +50,7 @@ Feature: Reverse mount encrypted folder using encfs
50
50
 
51
51
  Scenario: Source folder doesn't exist
52
52
  Given a directory named "encrypted_destination_folder"
53
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
53
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
54
54
  Then the exit status should be 1
55
55
  And the output should contain:
56
56
  """
@@ -60,7 +60,7 @@ Feature: Reverse mount encrypted folder using encfs
60
60
  Scenario: Destination mount point doesn't exist
61
61
  Given a directory named "unencrypted_source_folder"
62
62
  Given an empty file named "unencrypted_source_folder/test_data.txt"
63
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
63
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
64
64
  Then the exit status should be 1
65
65
  And the output should contain:
66
66
  """
@@ -72,7 +72,7 @@ Feature: Reverse mount encrypted folder using encfs
72
72
  Given an empty file named "unencrypted_source_folder/test_data.txt"
73
73
  Given a directory named "encrypted_destination_folder"
74
74
  Given an empty file named "encrypted_destination_folder/should_not_be_here.txt"
75
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
75
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
76
76
  Then the exit status should be 1
77
77
  And the output should contain:
78
78
  """
@@ -83,7 +83,7 @@ Feature: Reverse mount encrypted folder using encfs
83
83
  Given a directory named "unencrypted_source_folder"
84
84
  Given an empty file named "unencrypted_source_folder/test_data.txt"
85
85
  Given a directory named "encrypted_destination_folder"
86
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
86
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
87
87
  Then the exit status should be 1
88
88
  And the output should contain:
89
89
  """
@@ -95,7 +95,7 @@ Feature: Reverse mount encrypted folder using encfs
95
95
  Given an empty file named "unencrypted_source_folder/test_data.txt"
96
96
  Given a directory named "encrypted_destination_folder"
97
97
  Given an empty file named "passphrase"
98
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
98
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
99
99
  Then the exit status should be 1
100
100
  And the output should contain:
101
101
  """
@@ -103,7 +103,7 @@ Feature: Reverse mount encrypted folder using encfs
103
103
  """
104
104
 
105
105
  Scenario: Key file not found
106
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
106
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
107
107
  Then the exit status should be 1
108
108
  And the output should contain:
109
109
  """
@@ -112,7 +112,7 @@ Feature: Reverse mount encrypted folder using encfs
112
112
 
113
113
  Scenario: Key file is empty
114
114
  Given an empty file named "encfs6.xml"
115
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
115
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
116
116
  Then the exit status should be 1
117
117
  And the output should contain:
118
118
  """
@@ -125,7 +125,7 @@ Feature: Reverse mount encrypted folder using encfs
125
125
  mount:
126
126
  executable: missing_bin_file
127
127
  """
128
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
128
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
129
129
  Then the exit status should be 1
130
130
  And the output should contain:
131
131
  """