soandso
ユーザーがファイルを読み取ったり編集したりできることを示すテストまたは仕様を記述できるようにしたいと考えていますsuch_and_such
。最終的にはこれを RSpec に含めたいと考えていますが、Ruby の File クラスでは利用できないように見えるため、すべて Bash コマンド (もちろん、きちんと Ruby メソッドにラップされています) になると思います。私が見た他のもの。私はこれを行うために Bash で何かを探していましたが、何も見つかりません (そして、File クラスにも何も役に立たないようです)。(注: File.owned? は、任意のユーザーが編集または読み取りの権限を持っているかどうかではなく、Ruby コードを実行しているプロセスが所有者であるかどうかのみをテストするため、私が望むことを行いません。そのため、2 つの点で大きく異なります。)
Bashに組み込まれているこれを行う方法はありますか? (または、Ruby、または見逃した Ruby の宝石?) または、ファイルの所有者とグループの情報を取得し、それぞれのビットを読み取り、書き込み、実行してから、自分でシステムを構築する必要がありますか?グループのメンバー (所有者ではない場合) を確認し、所有権またはグループ メンバーシップso_and_so
のいずれかを通じて目的のアクセス許可が利用できるかどうかを確認しますか?soandso
私は現在、Unix ライクなシステムでこれを行うことだけに関心がありますが、Windows でも実行される Unix シェルに依存しないものは素晴らしいボーナスになるでしょう。
また、実際のファイルをテストすることに興味があるので、FakeFS のようなものは (私が見る限り) 私には役に立ちません。私のRubyコードがファイルシステムとどのように相互作用するかをテストしようとしているのではなく、必要なすべての操作が実際のファイルとディレクトリで実行できることを確認しようとしています. soandso
(繰り返しますが) が file を編集 (または読み取り) できることを指定できるようにしたいのですがsuch_and_such
、ファイルが によって所有されていることを指定するのではありません。これの要点は、所有権を指定することではなく(これは実装の詳細であり、セキュリティなどの他の要件に対応するために変更する必要がある場合があるため)、アプリケーションとユーザーが実際にファイルシステムに対して/ファイルシステム内で実行できるようにする必要があることのみを指定することです.such_and_such
soandso