--- layout: doc title: Filesystem - Codeception - Documentation ---
# Filesystem ### Installation If you use Codeception installed using composer, install this module with the following command: {% highlight yaml %} composer require --dev codeception/module-filesystem {% endhighlight %} Alternatively, you can enable `Filesystem` module in suite configuration file and run {% highlight yaml %} codecept init upgrade4 {% endhighlight %} This module was bundled with Codeception 2 and 3, but since version 4 it is necessary to install it separately. Some modules are bundled with PHAR files. Warning. Using PHAR file and composer in the same project can cause unexpected errors. ### Description Module for testing local filesystem. Fork it to extend the module for FTP, Amazon S3, others. ### Status * Maintainer: **davert** * Stability: **stable** * Contact: codecept@davert.mail.ua Module was developed to test Codeception itself. ### Actions #### amInPath * `param string` $path * `return void` Enters a directory In local filesystem. Project root directory is used by default #### cleanDir * `param string` $dirname * `return void` Erases directory contents {% highlight php %} cleanDir('logs'); {% endhighlight %} #### copyDir * `param string` $src * `param string` $dst * `return void` Copies directory with all contents {% highlight php %} copyDir('vendor','old_vendor'); {% endhighlight %} #### deleteDir * `param string` $dirname * `return void` Deletes directory with all subdirectories {% highlight php %} deleteDir('vendor'); {% endhighlight %} #### deleteFile * `param string` $filename * `return void` Deletes a file {% highlight php %} deleteFile('composer.lock'); {% endhighlight %} #### deleteThisFile * `return void` Deletes a file #### dontSeeFileFound * `param string` $filename * `param string` $path * `return void` Checks if file does not exist in path #### dontSeeInThisFile * `param string` $text * `return void` Checks If opened file doesn't contain `text` in it {% highlight php %} openFile('composer.json'); $I->dontSeeInThisFile('codeception/codeception'); {% endhighlight %} #### openFile * `param string` $filename * `return void` Opens a file and stores it's content. Usage: {% highlight php %} openFile('composer.json'); $I->seeInThisFile('codeception/codeception'); {% endhighlight %} #### seeFileContentsEqual * `param string` $text * `return void` Checks the strict matching of file contents. Unlike `seeInThisFile` will fail if file has something more than expected lines. Better to use with HEREDOC strings. Matching is done after removing "\r" chars from file content. {% highlight php %} openFile('process.pid'); $I->seeFileContentsEqual('3192'); {% endhighlight %} #### seeFileFound * `param string` $filename * `param string` $path * `return void` Checks if file exists in path. Opens a file when it's exists {% highlight php %} seeFileFound('UserModel.php','app/models'); {% endhighlight %} #### seeInThisFile * `param string` $text * `return void` Checks If opened file has `text` in it. Usage: {% highlight php %} openFile('composer.json'); $I->seeInThisFile('codeception/codeception'); {% endhighlight %} #### seeNumberNewLines * `param int` $number New lines * `return void` Checks If opened file has the `number` of new lines. Usage: {% highlight php %} openFile('composer.json'); $I->seeNumberNewLines(5); {% endhighlight %} #### seeThisFileMatches * `param string` $regex * `return void` Checks that contents of currently opened file matches $regex #### writeToFile * `param string` $filename * `param string` $contents * `return void` Saves contents to file