Test Plan: File Transfer - rsanchez-wsu/jfiles GitHub Wiki

The JFiles program shall be able to transfer the content of a file from client to server. It shall also be able to transfer the contents of a file from server to client. The following tests should be run by the programmer PRIOR to pushing the branch to Github or merging with another branch.

  • Transfer a file from client to server

    • Expected Outcome: A file appears in the server's home directory titled in the format "filename-copy.txt". The new
      file matches the content of the sent file.
  • Transfer a file from server to client

    • Expected Outcome: A file appears in the client's home directory titled in the format "filename-copy.txt". The new file matches the content of the sent file.
  • Attempt to transfer a file from client to server when no such file exists in client directory

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Attempt to transfer a file from server to client when no such file exists in server directory

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Transfer a file from client to server but disconnect the client while the file is the process of transferring.

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Transfer a file from server to client but disconnect the server while the file is the process of transferring.

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception
      or something similar.
  • Transfer two different files from two different clients to server at the same time.

    • Expected Outcome: Both files appear in the server's home directory titled in the format "filename-copy.txt". The new files matches the content of the sent files.
  • Transfer two different files from the server to two different clients at the same time.

    • Expected Outcome: Both files appear in both of the client's home directory titled in the format "filename- copy.txt". The new files matches the content of the sent files.
  • Attempt to transfer a two different files from two different clients to the server, at the same time, when no such files exists in either client's directory

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Attempt to transfer a two different files from the server to two different clients, at the same time, when no such files exists in the server's directory

    • Expected Outcome: This error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Attempt to transfer a two different files from to two different clients to the server, at the same time, when one of the files does not exist in one of the client's directories and the other file does exist in the other client's directory.

    • Expected Outcome: A file appears in the server's home directory titled in the format "filename-copy.txt". The new
      file matches the content of the sent file. For the other file that does not exist in the server's directory an error should be safely handled by the program. This can be accomplished with an exception or something similar.
  • Attempt to transfer a two different files from the server to two different clients, at the same time, when one of the files does not exist in the server's directory and the other file does exist.

    • Expected Outcome: A file appears in the client's home directory titled in the format "filename-copy.txt". The new
      file matches the content of the sent file. For the other file that does not exist in the server's directory an error should be safely handled by the program. This can be accomplished with an exception or something similar.

When modifying the code, the program must be able to pass ALL of these tests before pushing to Github. If it does not, PLEASE specify this in the commit and explain the situation.