SFTP - SSH File Transfer Protocol

What is SFTP?

SFTP stands for SSH File Transfer Protocol (or Secure File Transfer Protocol). It’s a standard network protocol used to transfer files securely between a client and a server over a TCP/IP network, typically using SSH.

What is the purpose of SFTP?

  • Secure file transfers over an encrypted channel.

  • Remote file management (upload, download, delete, rename, etc.).

  • Compliance with data protection and privacy standards.

  • Secure business-to-business (B2B) data exchange.

  • Widely used in web development, system administration, and automation.

How does it work?

  • Client connects to the SFTP server – usually using SSH credentials.

  • Authentication – Username/password or SSH key-based authentication.

  • Secure file operations – Upload, download, delete, rename files.

  • All communication is encrypted using SSH.

  • The session ends when the client disconnects.

  • Operates over a single encrypted connection (unlike FTP, which uses separate command/data channels).

Where is SFTP used?

  • Web hosting – Uploading website content securely.

  • Backup systems – Remote and automated secure backups.

  • Software distribution – Distributing patches, updates securely.

  • IT administration – Managing logs and configuration files on servers.

  • Financial and healthcare sectors – Where secure file exchange is critical.

Which OSI Layer does this protocol belong to?

  • SFTP operates at the Application Layer (Layer 7) of the OSI model.

  • It uses application-level commands like GET, PUT, LIST, etc.

  • It runs over SSH, which in turn uses TCP (Layer 4) for transport.

  • In this section, you are going to learn

  • Terminology

  • Version Info

sno

RTMP Version

RFC / Standard

Core / Contribution

Year

1

N/A

Draft (not finalized as RFC)

SSH File Transfer Protocol v3 (widely supported), v4v6 (not widely supported)

~20012006 (drafts)

2

N/A

RFC 913

Simple File Transfer Protocol (unrelated to SSH-based SFTP)

1984

3

N/A

RFC 42504254

Core SSH Protocols (underpin SFTP)

2006

  • Setup

  • Setup

SFTP INIT Packet

S.No

Protocol Packets

Description

Size(bytes)

1

SFTP INIT Packet

Client initiates session by sending protocol version over SSH.

~25

Command

SSH_FXP_INIT(value=1)

1

Arguments

Version, Extensions

4 + variable

Data (Payload)

Binary encoded version info over SSH encrypted channel

0

SFTP VERSION Packet

2

SFTP VERSION Packet

Server responds with protocol version and extensions

~25

Command

SSH_FXP_VERSION (2)

1

Arguments

Version, Extensions

4 + variable

Data (Payload)

Binary encoded version info over SSH encrypted channel

0

SFTP OPEN Packet

3

SFTP OPEN Packet

Client requests to open a file with mode flags

~60

Command

SSH_FXP_OPEN (3)

4

Arguments

Filename, Flags, Attributes (variable)

~20-30 + 4 + variable

Data (Payload)

Binary packet: command, filename, flags, attributes

0

SFTP READ Packet

4

SFTP READ Packet

Client requests file data chunk by offset and length

50-1050

Command

SSH_FXP_READ (5)

1

Arguments

Handle, Offset , Length

~16 + 8 + 4

Data (Payload)

Binary packet: file handle, offset, length requested

0

SFTP DATA Packet

5

SFTP DATA Packet

Server sends requested file data chunk

~32

Command

SSH_FXP_DATA (103)

1

Arguments

NA

Data (Payload)

Binary packet: file data bytes

0

SFTP WRITE Packet

6

SFTP WRITE Packet

Client sends chunk of file data to write at offset

~25

Command

SSH_FXP_WRITE (6)

1

Arguments

Handle, Offset , Data

~16 + 8 + variable

Data (Payload)

Binary packet: file handle, offset, data bytes

0

SFTP CLOSE Packet

7

SFTP CLOSE Packet

Client requests to close the open file handle

~40

Command

SSH_FXP_CLOSE (4)

1

Arguments

Handle

~16

Data (Payload)

Binary packet: file handle

0

SFTP STATUS Packet

8

SFTP STATUS Packet

Server responds with status of last operation

~40

Command

SSH_FXP_STATUS (101)

4 + 4 + ~20

Data (Payload)

Binary packet: status code and error message

0

sno

Use cases

Description

1

Secure File Upload

Upload files securely from client to server using encryption.

2

Secure File Download

Download files from server to client with confidentiality and integrity.

3

Automated Backups

Schedule and automate secure backups of files to a remote server.

4

Remote File Access

Access and manage files on a remote server securely.

5

Data Synchronization

Sync files between systems securely using SFTP scripts or tools.

6

Secure Log Transfer

Transfer log files from production servers to monitoring systems.

7

Secure Configuration Deployment

Push configuration files to remote systems securely.

8

Secure Media Distribution

Distribute media files (e.g., videos, images) to clients or partners.

9

Secure Document Exchange

Exchange sensitive documents (e.g., contracts, reports) between organizations.

10

Secure Software Updates

Distribute software patches or updates to remote systems.

11

IoT Device Data Upload

Upload sensor data from IoT devices to a central server securely.

12

Secure Financial Data Transfer

Transfer financial records (e.g., invoices, statements) between systems.

13

Secure Healthcare Data Exchange

Exchange patient records or lab results in compliance with HIPAA.

14

Secure Academic Data Sharing

Share research data or student records between institutions.

15

Secure Legal Document Transfer

Transfer legal files between law firms and clients securely.

16

Secure Government File Exchange

Exchange sensitive government documents across departments.

17

Secure CRM Data Sync

Sync customer data between CRM systems and secure storage.

18

Secure ERP Integration

Transfer data between ERP systems and external partners.

19

Secure Cloud Storage Access

Access cloud-hosted files securely using SFTP.

20

Secure File Archiving

Archive files to a secure remote location for long-term storage.

21

Secure File Sharing with Vendors

Share files with third-party vendors securely.

22

Secure File Sharing with Clients

Provide clients with access to reports or deliverables securely.

23

Secure File Transfer in CI/CD

Transfer build artifacts or logs in DevOps pipelines.

24

Secure File Transfer in E-commerce

Exchange order data, inventory files, or invoices.

25

Secure File Transfer in Banking

Transfer transaction logs or audit files between branches.

26

Secure File Transfer in Education

Share course materials or student submissions securely.

27

Secure File Transfer in Media

Transfer large media files between production teams.

28

Secure File Transfer in Manufacturing

Exchange CAD files or production data securely.

29

Secure File Transfer in Logistics

Share shipment data or tracking files securely.

30

Secure File Transfer in Retail

Transfer sales reports or inventory data securely.

31

Secure File Transfer in Telecom

Exchange call logs or configuration files securely.

32

Secure File Transfer in Energy Sector

Transfer sensor data or reports from remote sites.

33

Secure File Transfer in Research

Share datasets or simulation results securely.

34

Secure File Transfer in NGOs

Exchange donor data or project files securely.

35

Secure File Transfer in HR

Transfer employee records or payroll data securely.

36

Secure File Transfer in Marketing

Share campaign assets or analytics reports securely.

37

Secure File Transfer in Insurance

Exchange claims data or policy documents securely.

38

Secure File Transfer in Real Estate

Share contracts, blueprints, or legal documents.

39

Secure File Transfer in Construction

Transfer project plans or site reports securely.

40

Secure File Transfer in Aviation

Share flight data or maintenance logs securely.

41

Secure File Transfer in Automotive

Exchange design files or diagnostics data securely.

42

Secure File Transfer in Pharmaceuticals

Transfer clinical trial data or lab results securely.

43

Secure File Transfer in Broadcasting

Distribute video/audio content securely to affiliates.

44

Secure File Transfer in Publishing

Share manuscripts or layout files securely.

45

Secure File Transfer in Cybersecurity

Transfer threat intelligence or logs securely.

46

Secure File Transfer in AI/ML

Share training datasets or model files securely.

47

Secure File Transfer in Blockchain

Exchange smart contracts or ledger data securely.

48

Secure File Transfer in Gaming

Distribute game patches or assets securely.

49

Secure File Transfer in Startups

Share business plans or investor decks securely.

50

Secure File Transfer in Remote Work

Enable secure file exchange for distributed teams.

Sno

Features

Description

1

Secure Data Transfer

Encrypts all data during transmission to prevent eavesdropping and tampering.

2

Authentication

Supports password, public key, and multi-factor authentication for secure access.

3

File Upload

Allows users to securely upload files to a remote server.

4

File Download

Enables secure downloading of files from a remote server.

5

Directory Listing

Provides the ability to list files and directories on the remote server.

6

File Rename

Supports renaming of files on the remote server.

7

File Deletion

Allows deletion of files from the remote server.

8

Directory Creation

Enables creation of directories on the remote server.

9

Directory Deletion

Allows deletion of directories from the remote server.

10

File Permissions Management

Supports changing file permissions (e.g., chmod) remotely.

11

Resume Interrupted Transfers

Can resume file transfers if interrupted, depending on client/server support.

12

File Integrity Verification

Ensures files are transferred without corruption using checksums or hashes.

13

Logging & Auditing

Tracks file transfer activities for security and compliance.

14

Cross-Platform Compatibility

Works across Windows, Linux, macOS, and other platforms.

15

Firewall-Friendly

Operates over a single port (typically port 22), simplifying firewall configuration.

16

Compression Support

Can compress files during transfer to save bandwidth (if enabled).

17

Symbolic Link Handling

Supports reading and managing symbolic links on remote systems.

18

Atomic Operations

Ensures file operations are completed fully or not at all, avoiding partial updates.

19

Session Management

Maintains secure sessions with timeout and reconnection support.

20

Integration with SSH

Built on SSH protocol, inheriting its security and authentication features.

Secure Data Transfer - Testcases

S.No

Test Case

Description

Expected Result

1

TC_SDT_001

Upload file over SFTP

File uploaded securely

2

TC_SDT_002

Download file over SFTP

File downloaded securely

3

TC_SDT_003

Verify encryption during upload

Data encrypted in transit

4

TC_SDT_004

Verify encryption during download

Data encrypted in transit

5

TC_SDT_005

Use SFTP with AES encryption

Data encrypted using AES

6

TC_SDT_006

Use SFTP with ChaCha20 encryption

Data encrypted using ChaCha20

7

TC_SDT_007

Use SFTP with default SSH encryption

Default cipher used securely

8

TC_SDT_008

Attempt file transfer without encryption

Error or transfer blocked

9

TC_SDT_009

Transfer file with integrity check

File verified after transfer

10

TC_SDT_010

Transfer file with checksum validation

Checksum matches source

11

TC_SDT_011

Transfer file with tampered data

Error: Integrity check failed

12

TC_SDT_012

Transfer file with MITM attack simulation

Connection rejected

13

TC_SDT_013

Transfer file with expired SSH key

Error: Authentication failed

14

TC_SDT_014

Transfer file with revoked SSH key

Error: Access denied

15

TC_SDT_015

Transfer file with valid SSH key

File transferred securely

16

TC_SDT_016

Transfer file with password authentication

File transferred securely

17

TC_SDT_017

Transfer file with MFA enabled

File transferred after MFA

18

TC_SDT_018

Transfer file with session timeout

Transfer aborted securely

19

TC_SDT_019

Transfer file with session resume

Transfer resumes securely

20

TC_SDT_020

Transfer file with firewall enabled

File transferred securely

21

TC_SDT_021

Transfer file with VPN enabled

File transferred securely

22

TC_SDT_022

Transfer file with proxy enabled

File transferred securely

23

TC_SDT_023

Transfer file with IP whitelisting

File transferred from allowed IP

24

TC_SDT_024

Transfer file with IP blacklisting

Transfer blocked

25

TC_SDT_025

Transfer file with port 22 open

File transferred securely

26

TC_SDT_026

Transfer file with port 22 blocked

Transfer fails

27

TC_SDT_027

Transfer file with compression enabled

File transferred securely and compressed

28

TC_SDT_028

Transfer file with compression disabled

File transferred securely

29

TC_SDT_029

Transfer file with large size

File transferred securely

30

TC_SDT_030

Transfer file with small size

File transferred securely

31

TC_SDT_031

Transfer file with high latency

File transferred securely with delay

32

TC_SDT_032

Transfer file with packet loss

File transferred securely with retries

33

TC_SDT_033

Transfer file with bandwidth throttling

File transferred securely at limited speed

34

TC_SDT_034

Transfer file with audit logging enabled

Transfer logged securely

35

TC_SDT_035

Transfer file with audit logging disabled

File transferred securely, no logs

36

TC_SDT_036

Transfer file with symbolic link

Target file transferred securely

37

TC_SDT_037

Transfer file with hidden attribute

File transferred securely

38

TC_SDT_038

Transfer file with special characters

File transferred securely

39

TC_SDT_039

Transfer file with unicode characters

File transferred securely

40

TC_SDT_040

Transfer file with long filename

File transferred securely

41

TC_SDT_041

Transfer file with invalid characters

Error: Invalid filename

42

TC_SDT_042

Transfer file with ACLs

ACLs preserved or logged

43

TC_SDT_043

Transfer file with extended attributes

Attributes preserved or ignored

44

TC_SDT_044

Transfer file with encryption audit

Encryption method logged

45

TC_SDT_045

Transfer file with integrity audit

Integrity check logged

46

TC_SDT_046

Transfer file with retry on failure

File transferred securely after retry

47

TC_SDT_047

Transfer file with concurrent sessions

File transferred securely in all sessions

48

TC_SDT_048

Transfer file with session isolation

File transferred securely in isolated session

49

TC_SDT_049

Transfer file with version control

File version tracked securely

50

TC_SDT_050

Transfer file with backup enabled

File backed up and transferred securely

Authentication, - Testcases

S.No

Test Case

Description

Expected Result

1

TC_AUTH_001

Login with valid username and password

Authentication successful

2

TC_AUTH_002

Login with invalid username

Authentication failed

3

TC_AUTH_003

Login with invalid password

Authentication failed

4

TC_AUTH_004

Login with empty username

Authentication failed

5

TC_AUTH_005

Login with empty password

Authentication failed

6

TC_AUTH_006

Login with both fields empty

Authentication failed

7

TC_AUTH_007

Login with valid SSH key

Authentication successful

8

TC_AUTH_008

Login with invalid SSH key

Authentication failed

9

TC_AUTH_009

Login with expired SSH key

Authentication failed

10

TC_AUTH_010

Login with revoked SSH key

Authentication failed

11

TC_AUTH_011

Login with passphrase-protected SSH key

Prompt for passphrase and login successful

12

TC_AUTH_012

Login with incorrect SSH key passphrase

Authentication failed

13

TC_AUTH_013

Login with valid certificate

Authentication successful

14

TC_AUTH_014

Login with expired certificate

Authentication failed

15

TC_AUTH_015

Login with revoked certificate

Authentication failed

16

TC_AUTH_016

Login with MFA enabled

Prompt for second factor

17

TC_AUTH_017

Login with valid MFA code

Authentication successful

18

TC_AUTH_018

Login with invalid MFA code

Authentication failed

19

TC_AUTH_019

Login with expired MFA code

Authentication failed

20

TC_AUTH_020

Login with IP whitelisted

Authentication successful

21

TC_AUTH_021

Login with IP blacklisted

Authentication denied

22

TC_AUTH_022

Login with MAC address filtering enabled

Authentication based on MAC

23

TC_AUTH_023

Login with valid LDAP credentials

Authentication successful

24

TC_AUTH_024

Login with invalid LDAP credentials

Authentication failed

25

TC_AUTH_025

Login with Kerberos ticket

Authentication successful

26

TC_AUTH_026

Login with expired Kerberos ticket

Authentication failed

27

TC_AUTH_027

Login with OAuth token

Authentication successful

28

TC_AUTH_028

Login with expired OAuth token

Authentication failed

29

TC_AUTH_029

Login with tampered OAuth token

Authentication failed

30

TC_AUTH_030

Login with missing token

Authentication failed

31

TC_AUTH_031

Login with valid API key

Authentication successful

32

TC_AUTH_032

Login with invalid API key

Authentication failed

33

TC_AUTH_033

Login with revoked API key

Authentication failed

34

TC_AUTH_034

Login with expired session

Authentication failed

35

TC_AUTH_035

Login with concurrent sessions limit exceeded

Authentication denied

36

TC_AUTH_036

Login with brute-force attempts

Account locked or IP blocked

37

TC_AUTH_037

Login after account lockout

Authentication denied

38

TC_AUTH_038

Login after cooldown period

Authentication successful

39

TC_AUTH_039

Login with SQL injection in username

Authentication failed, input sanitized

40

TC_AUTH_040

Login with script injection in password

Authentication failed, input sanitized

41

TC_AUTH_041

Login with special characters in username

Authentication successful or sanitized

42

TC_AUTH_042

Login with long username (>255 chars)

Authentication failed

43

TC_AUTH_043

Login with long password (>255 chars)

Authentication failed

44

TC_AUTH_044

Login with UTF-8 encoded credentials

Authentication successful

45

TC_AUTH_045

Login with credentials over encrypted channel

Authentication successful

46

TC_AUTH_046

Login with credentials over unencrypted channel

Warning or authentication blocked

47

TC_AUTH_047

Login with credentials stored in secure vault

Authentication successful

48

TC_AUTH_048

Login with credentials stored in plaintext

Security warning

49

TC_AUTH_049

Login with audit logging enabled

Authentication event logged

50

TC_AUTH_050

Login with audit logging disabled

Authentication not logged

File Upload - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FU_001

Upload a valid file

File uploaded successfully

2

TC_FU_002

Upload a file with special characters in name

File uploaded successfully

3

TC_FU_003

Upload a file with spaces in name

File uploaded successfully

4

TC_FU_004

Upload a file with unicode characters

File uploaded successfully

5

TC_FU_005

Upload a file with long filename (>255 chars)

Error or file uploaded based on server

6

TC_FU_006

Upload a file with no extension

File uploaded successfully

7

TC_FU_007

Upload a file with multiple extensions

File uploaded successfully

8

TC_FU_008

Upload a file with hidden attribute

File uploaded successfully

9

TC_FU_009

Upload a file with read-only permissions

Error or file uploaded based on server config

10

TC_FU_010

Upload a file with write-only permissions

File uploaded successfully

11

TC_FU_011

Upload a file with execute-only permissions

File uploaded successfully

12

TC_FU_012

Upload a binary file

File uploaded successfully

13

TC_FU_013

Upload a text file

File uploaded successfully

14

TC_FU_014

Upload a compressed file (.zip, .tar)

File uploaded successfully

15

TC_FU_015

Upload an encrypted file

File uploaded securely

16

TC_FU_016

Upload a file with checksum verification

File uploaded and verified

17

TC_FU_017

Upload a file with integrity check

File uploaded and verified

18

TC_FU_018

Upload a file with audit logging enabled

Upload logged successfully

19

TC_FU_019

Upload a file with audit logging disabled

File uploaded, no log entry

20

TC_FU_020

Upload a file with retry on failure

File uploaded after retry

21

TC_FU_021

Upload a file with timeout

Error: Upload timed out

22

TC_FU_022

Upload a file with slow network

File uploaded with delay

23

TC_FU_023

Upload a file with packet loss

File uploaded with retransmission

24

TC_FU_024

Upload a file with session timeout

Error: Session expired

25

TC_FU_025

Upload a file after reconnecting session

File uploaded successfully

26

TC_FU_026

Upload a file with invalid session token

Error: Unauthorized

27

TC_FU_027

Upload a file with expired credentials

Error: Authentication failed

28

TC_FU_028

Upload a file with MFA enabled

File uploaded after MFA verification

29

TC_FU_029

Upload a file with symbolic link

Target file uploaded or link ignored

30

TC_FU_030

Upload a file to a restricted directory

Error: Access denied

31

TC_FU_031

Upload a file to a read-only directory

Error: Cannot write to directory

32

TC_FU_032

Upload a file to a hidden directory

File uploaded successfully

33

TC_FU_033

Upload a file to a non-existent directory

Error: Directory not found

34

TC_FU_034

Upload a file using GUI client

File uploaded successfully

35

TC_FU_035

Upload a file using CLI client

File uploaded successfully

36

TC_FU_036

Upload a file using automated script

File uploaded successfully

37

TC_FU_037

Upload a file using batch operation

File uploaded successfully

38

TC_FU_038

Upload multiple files in one command

All files uploaded successfully

39

TC_FU_039

Upload a file with confirmation prompt

File uploaded after confirmation

40

TC_FU_040

Cancel file upload after prompt

File not uploaded

41

TC_FU_041

Upload a file with bandwidth throttling

File uploaded at limited speed

42

TC_FU_042

Upload a file with encryption enabled

File uploaded securely

43

TC_FU_043

Upload a file with compression enabled

File uploaded with reduced size

44

TC_FU_044

Upload a file with version control

New version created

45

TC_FU_045

Upload a file with backup enabled

File backed up and uploaded

46

TC_FU_046

Upload a file with ACLs

ACLs preserved or applied

47

TC_FU_047

Upload a file with extended attributes

Attributes preserved or ignored

48

TC_FU_048

Upload a file with integrity audit

Integrity check logged

49

TC_FU_049

Upload a file with logging disabled

File uploaded, no logs

50

TC_FU_050

Upload a file with full audit compliance

File uploaded and fully logged

File Download - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FD_001

Download a valid file

File downloaded successfully

2

TC_FD_002

Download a file with special characters in name

File downloaded successfully

3

TC_FD_003

Download a file with spaces in name

File downloaded successfully

4

TC_FD_004

Download a file with unicode characters

File downloaded successfully

5

TC_FD_005

Download a file with long filename (>255 chars)

Error or file downloaded based on system

6

TC_FD_006

Download a file with no extension

File downloaded successfully

7

TC_FD_007

Download a file with multiple extensions

File downloaded successfully

8

TC_FD_008

Download a hidden file

File downloaded successfully

9

TC_FD_009

Download a read-only file

File downloaded successfully

10

TC_FD_010

Download a write-only file

Error: Permission denied

11

TC_FD_011

Download an executable file

File downloaded successfully

12

TC_FD_012

Download a binary file

File downloaded successfully

13

TC_FD_013

Download a text file

File downloaded successfully

14

TC_FD_014

Download a compressed file (.zip, .tar)

File downloaded successfully

15

TC_FD_015

Download an encrypted file

File downloaded securely

16

TC_FD_016

Download a file with checksum verification

File verified after download

17

TC_FD_017

Download a file with integrity check

File verified after download

18

TC_FD_018

Download a file with audit logging enabled

Download logged successfully

19

TC_FD_019

Download a file with audit logging disabled

File downloaded, no log entry

20

TC_FD_020

Download a file with retry on failure

File downloaded after retry

21

TC_FD_021

Download a file with timeout

Error: Download timed out

22

TC_FD_022

Download a file with slow network

File downloaded with delay

23

TC_FD_023

Download a file with packet loss

File downloaded with retransmission

24

TC_FD_024

Download a file with session timeout

Error: Session expired

25

TC_FD_025

Download a file after reconnecting session

File downloaded successfully

26

TC_FD_026

Download a file with invalid session token

Error: Unauthorized

27

TC_FD_027

Download a file with expired credentials

Error: Authentication failed

28

TC_FD_028

Download a file with MFA enabled

File downloaded after MFA verification

29

TC_FD_029

Download a symbolic link

Target file downloaded or link handled

30

TC_FD_030

Download a file from a restricted directory

Error: Access denied

31

TC_FD_031

Download a file from a read-only directory

File downloaded successfully

32

TC_FD_032

Download a file from a hidden directory

File downloaded successfully

33

TC_FD_033

Download a file from a non-existent directory

Error: Directory not found

34

TC_FD_034

Download a file using GUI client

File downloaded successfully

35

TC_FD_035

Download a file using CLI client

File downloaded successfully

36

TC_FD_036

Download a file using automated script

File downloaded successfully

37

TC_FD_037

Download a file using batch operation

File downloaded successfully

38

TC_FD_038

Download multiple files in one command

All files downloaded successfully

39

TC_FD_039

Download a file with confirmation prompt

File downloaded after confirmation

40

TC_FD_040

Cancel file download after prompt

File not downloaded

41

TC_FD_041

Download a file with bandwidth throttling

File downloaded at limited speed

42

TC_FD_042

Download a file with encryption enabled

File downloaded securely

43

TC_FD_043

Download a file with compression enabled

File downloaded with reduced size

44

TC_FD_044

Download a file with version control

Specific version downloaded

45

TC_FD_045

Download a file with backup enabled

File downloaded and backup preserved

46

TC_FD_046

Download a file with ACLs

ACLs preserved or applied

47

TC_FD_047

Download a file with extended attributes

Attributes preserved or ignored

48

TC_FD_048

Download a file with integrity audit

Integrity check logged

49

TC_FD_049

Download a file with logging disabled

File downloaded, no logs

50

TC_FD_050

Download a file with full audit compliance

File downloaded and fully logged

Directory Listing - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FD_001

Download a valid file

File downloaded successfully

2

TC_FD_002

Download a file with special characters in name

File downloaded successfully

3

TC_FD_003

Download a file with spaces in name

File downloaded successfully

4

TC_FD_004

Download a file with unicode characters

File downloaded successfully

5

TC_FD_005

Download a file with long filename (>255 chars)

Error or file downloaded based on system

6

TC_FD_006

Download a file with no extension

File downloaded successfully

7

TC_FD_007

Download a file with multiple extensions

File downloaded successfully

8

TC_FD_008

Download a hidden file

File downloaded successfully

9

TC_FD_009

Download a read-only file

File downloaded successfully

10

TC_FD_010

Download a write-only file

Error: Permission denied

11

TC_FD_011

Download an executable file

File downloaded successfully

12

TC_FD_012

Download a binary file

File downloaded successfully

13

TC_FD_013

Download a text file

File downloaded successfully

14

TC_FD_014

Download a compressed file (.zip, .tar)

File downloaded successfully

15

TC_FD_015

Download an encrypted file

File downloaded securely

16

TC_FD_016

Download a file with checksum verification

File verified after download

17

TC_FD_017

Download a file with integrity check

File verified after download

18

TC_FD_018

Download a file with audit logging enabled

Download logged successfully

19

TC_FD_019

Download a file with audit logging disabled

File downloaded, no log entry

20

TC_FD_020

Download a file with retry on failure

File downloaded after retry

21

TC_FD_021

Download a file with timeout

Error: Download timed out

22

TC_FD_022

Download a file with slow network

File downloaded with delay

23

TC_FD_023

Download a file with packet loss

File downloaded with retransmission

24

TC_FD_024

Download a file with session timeout

Error: Session expired

25

TC_FD_025

Download a file after reconnecting session

File downloaded successfully

26

TC_FD_026

Download a file with invalid session token

Error: Unauthorized

27

TC_FD_027

Download a file with expired credentials

Error: Authentication failed

28

TC_FD_028

Download a file with MFA enabled

File downloaded after MFA verification

29

TC_FD_029

Download a symbolic link

Target file downloaded or link handled

30

TC_FD_030

Download a file from a restricted directory

Error: Access denied

31

TC_FD_031

Download a file from a read-only directory

File downloaded successfully

32

TC_FD_032

Download a file from a hidden directory

File downloaded successfully

33

TC_FD_033

Download a file from a non-existent directory

Error: Directory not found

34

TC_FD_034

Download a file using GUI client

File downloaded successfully

35

TC_FD_035

Download a file using CLI client

File downloaded successfully

36

TC_FD_036

Download a file using automated script

File downloaded successfully

37

TC_FD_037

Download a file using batch operation

File downloaded successfully

38

TC_FD_038

Download multiple files in one command

All files downloaded successfully

39

TC_FD_039

Download a file with confirmation prompt

File downloaded after confirmation

40

TC_FD_040

Cancel file download after prompt

File not downloaded

41

TC_FD_041

Download a file with bandwidth throttling

File downloaded at limited speed

42

TC_FD_042

Download a file with encryption enabled

File downloaded securely

43

TC_FD_043

Download a file with compression enabled

File downloaded with reduced size

44

TC_FD_044

Download a file with version control

Specific version downloaded

45

TC_FD_045

Download a file with backup enabled

File downloaded and backup preserved

46

TC_FD_046

Download a file with ACLs

ACLs preserved or applied

47

TC_FD_047

Download a file with extended attributes

Attributes preserved or ignored

48

TC_FD_048

Download a file with integrity audit

Integrity check logged

49

TC_FD_049

Download a file with logging disabled

File downloaded, no logs

50

TC_FD_050

Download a file with full audit compliance

File downloaded and fully logged

File Rename - Testcases

S.No

Test Case

Description

Expected Result

1

Rename_ValidFile

Rename a file with a valid new name

File is renamed successfully

2

Rename_NonExistentFile

Attempt to rename a file that does not exist

Error: File not found

3

Rename_ToExistingFileName

Rename a file to a name that already exists

Error: File already exists

4

Rename_EmptyNewName

Rename a file to an empty string

Error: Invalid file name

5

Rename_SpecialCharacters

Rename a file using special characters

File is renamed if characters are allowed

6

Rename_LongFileName

Rename a file with a very long name

File is renamed or error if name exceeds limit

7

Rename_UnicodeCharacters

Rename a file using Unicode characters

File is renamed successfully

8

Rename_WithSpaces

Rename a file with spaces in the new name

File is renamed successfully

9

Rename_UpperToLowerCase

Rename a file from uppercase to lowercase

File is renamed successfully

10

Rename_LowerToUpperCase

Rename a file from lowercase to uppercase

File is renamed successfully

11

Rename_FileInUse

Rename a file currently in use

Error or rename depending on server behavior

12

Rename_ReadOnlyFile

Rename a read-only file

File is renamed if permissions allow

13

Rename_WithoutPermission

Rename a file without sufficient permissions

Error: Permission denied

14

Rename_DirectoryAsFile

Attempt to rename a directory as a file

Error: Invalid operation

15

Rename_FileAsDirectory

Attempt to rename a file as a directory

Error: Invalid operation

16

Rename_SameName

Rename a file to the same name

No change, operation succeeds or ignored

17

Rename_CaseSensitive

Rename a file with only case difference

File is renamed if FS is case-sensitive

18

Rename_ConcurrentAccess

Rename a file while another client accesses it

Rename succeeds or fails based on lock

19

Rename_ValidRelativePath

Rename using relative path

File is renamed successfully

20

Rename_ValidAbsolutePath

Rename using absolute path

File is renamed successfully

21

Rename_InvalidPath

Rename using an invalid path

Error: Invalid path

22

Rename_Symlink

Rename a symbolic link

Symlink is renamed, target unchanged

23

Rename_HiddenFile

Rename a hidden file (e.g., .file)

File is renamed successfully

24

Rename_ToHiddenFile

Rename a file to a hidden file

File is renamed successfully

25

Rename_EmptyDirectory

Rename an empty directory

Directory is renamed successfully

26

Rename_NonEmptyDirectory

Rename a non-empty directory

Directory is renamed successfully

27

Rename_Recursive

Rename a directory recursively

All contents remain intact

28

Rename_WithExtensionChange

Rename a file and change its extension

File is renamed successfully

29

Rename_WithoutExtension

Rename a file and remove its extension

File is renamed successfully

30

Rename_WithDotPrefix

Rename a file to start with a dot

File becomes hidden (on Unix)

31

Rename_InterruptedConnection

Rename during network interruption

Rename fails or is retried

32

Rename_LargeFile

Rename a large file (GBs)

File is renamed successfully

33

Rename_ZeroByteFile

Rename a 0-byte file

File is renamed successfully

34

Rename_UsingScripting

Rename via automated script

File is renamed successfully

35

Rename_UsingGUIClient

Rename using a GUI SFTP client

File is renamed successfully

36

Rename_UsingCLI

Rename using command-line SFTP

File is renamed successfully

37

Rename_UsingAPI

Rename using SFTP API

File is renamed successfully

38

Rename_WhileUploading

Rename a file being uploaded

Rename fails or is queued

39

Rename_WhileDownloading

Rename a file being downloaded

Rename fails or is queued

40

Rename_OverNetworkShare

Rename a file on a mounted network share

File is renamed successfully

41

Rename_OverVPN

Rename a file over VPN connection

File is renamed successfully

42

Rename_OverSlowConnection

Rename over a slow connection

File is renamed, may be delayed

43

Rename_WithAuditLogging

Rename with audit logging enabled

Rename is logged

44

Rename_WithVersionControl

Rename in a version-controlled directory

Rename is tracked

45

Rename_WithQuotaLimit

Rename when user is near quota limit

File is renamed if no space is used

46

Rename_EncryptedFile

Rename an encrypted file

File is renamed successfully

47

Rename_CompressedFile

Rename a compressed file

File is renamed successfully

48

Rename_UsingWildcard

Attempt to rename using wildcards

Error: Wildcards not supported

49

Rename_MultipleFiles

Rename multiple files in batch

All files renamed or partial success

50

Rename_WithLoggingDisabled

Rename with logging disabled

File is renamed, no logs generated

File Deletion - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FD_001

Delete an existing file

File deleted successfully

2

TC_FD_002

Delete a non-existent file

Error: File not found

3

TC_FD_003

Delete a file without permission

Error: Permission denied

4

TC_FD_004

Delete a file with read-only permissions

File deleted if user has delete rights

5

TC_FD_005

Delete a file in a restricted directory

Error: Access denied

6

TC_FD_006

Delete a file with special characters in name

File deleted successfully

7

TC_FD_007

Delete a file with spaces in name

File deleted successfully

8

TC_FD_008

Delete a file with unicode characters

File deleted successfully

9

TC_FD_009

Delete a file with long filename (>255 chars)

Error or file deleted based on server

10

TC_FD_010

Delete a file with symbolic link

Target file deleted or link removed

11

TC_FD_011

Delete a symbolic link only

Link deleted, target remains

12

TC_FD_012

Delete a file in nested directory

File deleted successfully

13

TC_FD_013

Delete a file using relative path

File deleted successfully

14

TC_FD_014

Delete a file using absolute path

File deleted successfully

15

TC_FD_015

Delete a file while it is being downloaded

File deleted or locked

16

TC_FD_016

Delete a file while it is being uploaded

File deletion fails or waits

17

TC_FD_017

Delete a file with invalid characters

Error: Invalid filename

18

TC_FD_018

Delete a file with null byte in name

Error: Invalid filename

19

TC_FD_019

Delete a file with trailing slash

Error: Not a directory

20

TC_FD_020

Delete a file with leading dot (hidden file)

File deleted successfully

21

TC_FD_021

Delete a file with no extension

File deleted successfully

22

TC_FD_022

Delete a file with multiple extensions

File deleted successfully

23

TC_FD_023

Delete a file with uppercase extension

File deleted successfully

24

TC_FD_024

Delete a file with mixed case name

File deleted successfully

25

TC_FD_025

Delete a file from root directory

Error or file deleted based on permissions

26

TC_FD_026

Delete a file from mounted volume

File deleted successfully

27

TC_FD_027

Delete a file from network share

File deleted successfully

28

TC_FD_028

Delete a file from read-only filesystem

Error: Read-only file system

29

TC_FD_029

Delete a file with concurrent access

File deleted or locked

30

TC_FD_030

Delete a file with audit logging enabled

File deleted and logged

31

TC_FD_031

Delete a file with audit logging disabled

File deleted, no log entry

32

TC_FD_032

Delete a file using SFTP GUI client

File deleted successfully

33

TC_FD_033

Delete a file using SFTP CLI

File deleted successfully

34

TC_FD_034

Delete a file using automated script

File deleted successfully

35

TC_FD_035

Delete a file using batch operation

File deleted successfully

36

TC_FD_036

Delete multiple files in one command

All files deleted successfully

37

TC_FD_037

Delete a file with confirmation prompt

File deleted after confirmation

38

TC_FD_038

Cancel file deletion after prompt

File not deleted

39

TC_FD_039

Delete a file with retry on failure

File deleted after retry

40

TC_FD_040

Delete a file with timeout

Error: Operation timed out

41

TC_FD_041

Delete a file with slow network

File deleted with delay

42

TC_FD_042

Delete a file with packet loss

File deleted or retry triggered

43

TC_FD_043

Delete a file with encryption enabled

File deleted securely

44

TC_FD_044

Delete a file with compression enabled

File deleted successfully

45

TC_FD_045

Delete a file with session timeout

Error: Session expired

46

TC_FD_046

Delete a file after reconnecting session

File deleted successfully

47

TC_FD_047

Delete a file with invalid session token

Error: Unauthorized

48

TC_FD_048

Delete a file with expired credentials

Error: Authentication failed

49

TC_FD_049

Delete a file with MFA enabled

File deleted after MFA verification

50

TC_FD_050

Delete a file with audit trail export

File deleted and audit exported

Directory Creation - Testcases

S.No

Test Case

Description

Expected Result

1

TC_DC_001

Create a new directory with valid name

Directory created successfully

2

TC_DC_002

Create a directory that already exists

Error: Directory already exists

3

TC_DC_003

Create a directory with special characters

Directory created or sanitized

4

TC_DC_004

Create a directory with spaces in name

Directory created successfully

5

TC_DC_005

Create a directory with unicode characters

Directory created successfully

6

TC_DC_006

Create a directory with long name (>255 chars)

Error or directory created based on server

7

TC_DC_007

Create a directory with trailing slash

Directory created successfully

8

TC_DC_008

Create a directory with leading slash

Directory created at root or error

9

TC_DC_009

Create a nested directory structure

All directories created recursively

10

TC_DC_010

Create a directory using relative path

Directory created successfully

11

TC_DC_011

Create a directory using absolute path

Directory created successfully

12

TC_DC_012

Create a directory in a restricted path

Error: Permission denied

13

TC_DC_013

Create a directory without write permission

Error: Permission denied

14

TC_DC_014

Create a directory with read-only permissions

Error: Cannot write to location

15

TC_DC_015

Create a directory with invalid characters

Error: Invalid directory name

16

TC_DC_016

Create a directory with null byte in name

Error: Invalid directory name

17

TC_DC_017

Create a directory with dot prefix (hidden)

Directory created successfully

18

TC_DC_018

Create a directory with numeric name

Directory created successfully

19

TC_DC_019

Create a directory with mixed case name

Directory created successfully

20

TC_DC_020

Create a directory with no name

Error: Invalid directory name

21

TC_DC_021

Create a directory with only spaces

Error: Invalid directory name

22

TC_DC_022

Create a directory with symbolic link in path

Directory created at target location

23

TC_DC_023

Create a directory with path traversal attempt

Error: Access denied

24

TC_DC_024

Create a directory in root directory

Directory created or error based on permissions

25

TC_DC_025

Create a directory in mounted volume

Directory created successfully

26

TC_DC_026

Create a directory in network share

Directory created successfully

27

TC_DC_027

Create a directory in read-only filesystem

Error: Read-only file system

28

TC_DC_028

Create a directory with concurrent access

Directory created or conflict handled

29

TC_DC_029

Create a directory with audit logging enabled

Directory created and logged

30

TC_DC_030

Create a directory with audit logging disabled

Directory created, no log entry

31

TC_DC_031

Create a directory using SFTP GUI client

Directory created successfully

32

TC_DC_032

Create a directory using SFTP CLI

Directory created successfully

33

TC_DC_033

Create a directory using automated script

Directory created successfully

34

TC_DC_034

Create a directory using batch operation

Directory created successfully

35

TC_DC_035

Create multiple directories in one command

All directories created successfully

36

TC_DC_036

Create a directory with confirmation prompt

Directory created after confirmation

37

TC_DC_037

Cancel directory creation after prompt

Directory not created

38

TC_DC_038

Retry directory creation after failure

Directory created successfully

39

TC_DC_039

Create a directory with timeout

Error: Operation timed out

40

TC_DC_040

Create a directory with slow network

Directory created with delay

41

TC_DC_041

Create a directory with packet loss

Directory created or retry triggered

42

TC_DC_042

Create a directory with encryption enabled

Directory created securely

43

TC_DC_043

Create a directory with compression enabled

Directory created successfully

44

TC_DC_044

Create a directory with session timeout

Error: Session expired

45

TC_DC_045

Create a directory after reconnecting session

Directory created successfully

46

TC_DC_046

Create a directory with invalid session token

Error: Unauthorized

47

TC_DC_047

Create a directory with expired credentials

Error: Authentication failed

48

TC_DC_048

Create a directory with MFA enabled

Directory created after MFA verification

49

TC_DC_049

Create a directory with audit trail export

Directory created and audit exported

50

TC_DC_050

Create a directory with symbolic link loop

Error: Loop detected

Directory Deletion - Testcases

S.No

Test Case

Description

Expected Result

1

TC_DD_001

Delete an empty directory

Directory deleted successfully

2

TC_DD_002

Delete a non-empty directory

Error or recursive deletion based on config

3

TC_DD_003

Delete a non-existent directory

Error: Directory not found

4

TC_DD_004

Delete a directory without permission

Error: Permission denied

5

TC_DD_005

Delete a directory with read-only permissions

Error: Cannot delete directory

6

TC_DD_006

Delete a directory with special characters

Directory deleted or error

7

TC_DD_007

Delete a directory with spaces in name

Directory deleted successfully

8

TC_DD_008

Delete a directory with unicode characters

Directory deleted successfully

9

TC_DD_009

Delete a directory with long name (>255 chars)

Error or directory deleted

10

TC_DD_010

Delete a symbolic link to a directory

Link deleted, target remains

11

TC_DD_011

Delete a directory using relative path

Directory deleted successfully

12

TC_DD_012

Delete a directory using absolute path

Directory deleted successfully

13

TC_DD_013

Delete a directory with trailing slash

Directory deleted successfully

14

TC_DD_014

Delete a directory with leading slash

Directory deleted successfully

15

TC_DD_015

Delete a hidden directory (starts with dot)

Directory deleted successfully

16

TC_DD_016

Delete a directory with numeric name

Directory deleted successfully

17

TC_DD_017

Delete a directory with mixed case name

Directory deleted successfully

18

TC_DD_018

Delete a directory with no name

Error: Invalid directory name

19

TC_DD_019

Delete a directory with only spaces

Error: Invalid directory name

20

TC_DD_020

Delete a directory with invalid characters

Error: Invalid directory name

21

TC_DD_021

Delete a directory with null byte in name

Error: Invalid directory name

22

TC_DD_022

Delete a directory with symbolic link in path

Target directory deleted

23

TC_DD_023

Delete a directory with path traversal attempt

Error: Access denied

24

TC_DD_024

Delete a directory in root directory

Directory deleted or error

25

TC_DD_025

Delete a directory in mounted volume

Directory deleted successfully

26

TC_DD_026

Delete a directory in network share

Directory deleted successfully

27

TC_DD_027

Delete a directory in read-only filesystem

Error: Read-only file system

28

TC_DD_028

Delete a directory with concurrent access

Directory deleted or locked

29

TC_DD_029

Delete a directory with audit logging enabled

Directory deleted and logged

30

TC_DD_030

Delete a directory with audit logging disabled

Directory deleted, no log entry

31

TC_DD_031

Delete a directory using SFTP GUI client

Directory deleted successfully

32

TC_DD_032

Delete a directory using SFTP CLI

Directory deleted successfully

33

TC_DD_033

Delete a directory using automated script

Directory deleted successfully

34

TC_DD_034

Delete a directory using batch operation

Directory deleted successfully

35

TC_DD_035

Delete multiple directories in one command

All directories deleted successfully

36

TC_DD_036

Delete a directory with confirmation prompt

Directory deleted after confirmation

37

TC_DD_037

Cancel directory deletion after prompt

Directory not deleted

38

TC_DD_038

Retry directory deletion after failure

Directory deleted successfully

39

TC_DD_039

Delete a directory with timeout

Error: Operation timed out

40

TC_DD_040

Delete a directory with slow network

Directory deleted with delay

41

TC_DD_041

Delete a directory with packet loss

Directory deleted or retry triggered

42

TC_DD_042

Delete a directory with encryption enabled

Directory deleted securely

43

TC_DD_043

Delete a directory with compression enabled

Directory deleted successfully

44

TC_DD_044

Delete a directory with session timeout

Error: Session expired

45

TC_DD_045

Delete a directory after reconnecting session

Directory deleted successfully

46

TC_DD_046

Delete a directory with invalid session token

Error: Unauthorized

47

TC_DD_047

Delete a directory with expired credentials

Error: Authentication failed

48

TC_DD_048

Delete a directory with MFA enabled

Directory deleted after MFA verification

49

TC_DD_049

Delete a directory with audit trail export

Directory deleted and audit exported

50

TC_DD_050

Delete a directory with symbolic link loop

Error: Loop detected

File Permissions Management - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FPM_001

Change file permission to read-only

File becomes read-only

2

TC_FPM_002

Change file permission to write-only

File becomes write-only

3

TC_FPM_003

Change file permission to execute-only

File becomes executable

4

TC_FPM_004

Grant read, write, execute to owner

Owner has full access

5

TC_FPM_005

Grant read-only to group

Group can only read the file

6

TC_FPM_006

Grant no permissions to others

Others cannot access the file

7

TC_FPM_007

Remove execute permission from file

File is no longer executable

8

TC_FPM_008

Remove write permission from file

File becomes read-only

9

TC_FPM_009

Remove read permission from file

File cannot be read

10

TC_FPM_010

Set permissions using numeric mode (e.g., 755)

Permissions set correctly

11

TC_FPM_011

Set permissions using symbolic mode (e.g., u+x)

Permissions updated correctly

12

TC_FPM_012

Attempt to change permissions without rights

Error: Permission denied

13

TC_FPM_013

Change permissions on a non-existent file

Error: File not found

14

TC_FPM_014

Change permissions on a directory

Directory permissions updated

15

TC_FPM_015

Change permissions on a symbolic link

Link or target permissions updated

16

TC_FPM_016

Change permissions on a hidden file

Permissions updated successfully

17

TC_FPM_017

Change permissions on a file with special characters

Permissions updated successfully

18

TC_FPM_018

Change permissions on a file with unicode name

Permissions updated successfully

19

TC_FPM_019

Change permissions on a file with long name

Permissions updated successfully

20

TC_FPM_020

Change permissions using SFTP GUI client

Permissions updated successfully

21

TC_FPM_021

Change permissions using SFTP CLI

Permissions updated successfully

22

TC_FPM_022

Change permissions using automated script

Permissions updated successfully

23

TC_FPM_023

Change permissions on multiple files

All permissions updated

24

TC_FPM_024

Change permissions recursively in directory

All files and subfolders updated

25

TC_FPM_025

Change permissions with audit logging enabled

Change logged successfully

26

TC_FPM_026

Change permissions with audit logging disabled

Change not logged

27

TC_FPM_027

Change permissions with invalid mode

Error: Invalid permission mode

28

TC_FPM_028

Change permissions with null input

Error: Invalid input

29

TC_FPM_029

Change permissions with timeout

Error: Operation timed out

30

TC_FPM_030

Change permissions with slow network

Permissions updated with delay

31

TC_FPM_031

Change permissions with packet loss

Retry or error triggered

32

TC_FPM_032

Change permissions with encryption enabled

Permissions updated securely

33

TC_FPM_033

Change permissions with compression enabled

Permissions updated successfully

34

TC_FPM_034

Change permissions after session timeout

Error: Session expired

35

TC_FPM_035

Change permissions after reconnecting session

Permissions updated successfully

36

TC_FPM_036

Change permissions with invalid session token

Error: Unauthorized

37

TC_FPM_037

Change permissions with expired credentials

Error: Authentication failed

38

TC_FPM_038

Change permissions with MFA enabled

Permissions updated after MFA

39

TC_FPM_039

Change permissions on read-only file system

Error: Read-only file system

40

TC_FPM_040

Change permissions on network-mounted file

Permissions updated successfully

41

TC_FPM_041

Change permissions on file in restricted directory

Error: Access denied

42

TC_FPM_042

Change permissions on file in root directory

Permissions updated or denied

43

TC_FPM_043

Change permissions on file with concurrent access

Permissions updated or locked

44

TC_FPM_044

Change permissions on file with symbolic link loop

Error: Loop detected

45

TC_FPM_045

Change permissions on file with ACLs

ACLs updated or preserved

46

TC_FPM_046

Change permissions on file with extended attributes

Attributes preserved or updated

47

TC_FPM_047

Change permissions on file with audit trail export

Permissions updated and audit exported

48

TC_FPM_048

Change permissions on file with backup enabled

Permissions updated and backup triggered

49

TC_FPM_049

Change permissions on file with version control

Permissions updated and version logged

50

TC_FPM_050

Change permissions on file with integrity check

Permissions updated and verified

Resume Interrupted Transfers - Testcases

S.No

Test Case

Description

Expected Result

1

TC_RIT_001

Resume upload after network disconnection

Upload resumes from last byte

2

TC_RIT_002

Resume download after network disconnection

Download resumes from last byte

3

TC_RIT_003

Resume upload after client reboot

Upload resumes if session info is retained

4

TC_RIT_004

Resume download after client reboot

Download resumes if session info is retained

5

TC_RIT_005

Resume upload after server reboot

Upload resumes if server supports it

6

TC_RIT_006

Resume download after server reboot

Download resumes if server supports it

7

TC_RIT_007

Resume upload after timeout

Upload resumes from last checkpoint

8

TC_RIT_008

Resume download after timeout

Download resumes from last checkpoint

9

TC_RIT_009

Resume upload with partial file present

Upload resumes from file size offset

10

TC_RIT_010

Resume download with partial file present

Download resumes from file size offset

11

TC_RIT_011

Resume upload with file mismatch

Error or overwrite prompt

12

TC_RIT_012

Resume download with file mismatch

Error or overwrite prompt

13

TC_RIT_013

Resume upload with file locked

Error: File in use

14

TC_RIT_014

Resume download with file locked

Error: File in use

15

TC_RIT_015

Resume upload with permission change

Error: Permission denied

16

TC_RIT_016

Resume download with permission change

Error: Permission denied

17

TC_RIT_017

Resume upload with file renamed

Error or resume fails

18

TC_RIT_018

Resume download with file renamed

Error or resume fails

19

TC_RIT_019

Resume upload with file moved

Error or resume fails

20

TC_RIT_020

Resume download with file moved

Error or resume fails

21

TC_RIT_021

Resume upload with symbolic link

Upload resumes to target file

22

TC_RIT_022

Resume download with symbolic link

Download resumes from target file

23

TC_RIT_023

Resume upload with file size mismatch

Resume from correct offset

24

TC_RIT_024

Resume download with file size mismatch

Resume from correct offset

25

TC_RIT_025

Resume upload with checksum validation

Resume only if checksum matches

26

TC_RIT_026

Resume download with checksum validation

Resume only if checksum matches

27

TC_RIT_027

Resume upload with encryption enabled

Upload resumes securely

28

TC_RIT_028

Resume download with encryption enabled

Download resumes securely

29

TC_RIT_029

Resume upload with compression enabled

Upload resumes with compression

30

TC_RIT_030

Resume download with compression enabled

Download resumes with compression

31

TC_RIT_031

Resume upload using GUI client

Upload resumes successfully

32

TC_RIT_032

Resume download using GUI client

Download resumes successfully

33

TC_RIT_033

Resume upload using CLI client

Upload resumes successfully

34

TC_RIT_034

Resume download using CLI client

Download resumes successfully

35

TC_RIT_035

Resume upload using automated script

Upload resumes successfully

36

TC_RIT_036

Resume download using automated script

Download resumes successfully

37

TC_RIT_037

Resume upload with audit logging enabled

Resume event logged

38

TC_RIT_038

Resume download with audit logging enabled

Resume event logged

39

TC_RIT_039

Resume upload with session token expired

Error: Session expired

40

TC_RIT_040

Resume download with session token expired

Error: Session expired

41

TC_RIT_041

Resume upload after MFA re-authentication

Upload resumes after verification

42

TC_RIT_042

Resume download after MFA re-authentication

Download resumes after verification

43

TC_RIT_043

Resume upload with bandwidth throttling

Upload resumes at limited speed

44

TC_RIT_044

Resume download with bandwidth throttling

Download resumes at limited speed

45

TC_RIT_045

Resume upload with file ownership change

Error or resume fails

46

TC_RIT_046

Resume download with file ownership change

Error or resume fails

47

TC_RIT_047

Resume upload with file system full

Error: Disk full

48

TC_RIT_048

Resume download with file system full

Error: Disk full

49

TC_RIT_049

Resume upload with file integrity check

Resume only if integrity is preserved

50

TC_RIT_050

Resume download with file integrity check

Resume only if integrity is preserved

File Integrity Verification - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FIV_001

Verify checksum after file upload

Checksum matches original

2

TC_FIV_002

Verify checksum after file download

Checksum matches source

3

TC_FIV_003

Upload file with integrity check enabled

File uploaded and verified

4

TC_FIV_004

Download file with integrity check enabled

File downloaded and verified

5

TC_FIV_005

Upload file with corrupted data

Error: Checksum mismatch

6

TC_FIV_006

Download file with corrupted data

Error: Checksum mismatch

7

TC_FIV_007

Upload file with MD5 verification

MD5 hash matches

8

TC_FIV_008

Download file with SHA-256 verification

SHA-256 hash matches

9

TC_FIV_009

Upload file with no integrity check

File uploaded without verification

10

TC_FIV_010

Download file with no integrity check

File downloaded without verification

11

TC_FIV_011

Upload file with incorrect hash provided

Error: Hash mismatch

12

TC_FIV_012

Download file with incorrect hash provided

Error: Hash mismatch

13

TC_FIV_013

Upload file with hash verification disabled

File uploaded without validation

14

TC_FIV_014

Download file with hash verification disabled

File downloaded without validation

15

TC_FIV_015

Upload file with hash verification timeout

Error: Verification timeout

16

TC_FIV_016

Download file with hash verification timeout

Error: Verification timeout

17

TC_FIV_017

Upload file with hash mismatch alert enabled

Alert triggered on mismatch

18

TC_FIV_018

Download file with hash mismatch alert enabled

Alert triggered on mismatch

19

TC_FIV_019

Upload file with hash stored in metadata

Metadata updated with hash

20

TC_FIV_020

Download file with hash stored in metadata

Hash retrieved and verified

21

TC_FIV_021

Upload file with hash stored in separate file

Hash file created

22

TC_FIV_022

Download file with hash stored in separate file

Hash file used for verification

23

TC_FIV_023

Upload file with hash comparison on server

Server validates hash

24

TC_FIV_024

Download file with hash comparison on client

Client validates hash

25

TC_FIV_025

Upload file with hash comparison on both ends

Both client and server validate

26

TC_FIV_026

Upload file with hash mismatch logged

Mismatch logged in audit

27

TC_FIV_027

Download file with hash mismatch logged

Mismatch logged in audit

28

TC_FIV_028

Upload file with hash verification using CLI

Verification successful

29

TC_FIV_029

Download file with hash verification using CLI

Verification successful

30

TC_FIV_030

Upload file with hash verification using GUI

Verification successful

31

TC_FIV_031

Download file with hash verification using GUI

Verification successful

32

TC_FIV_032

Upload file with hash verification using script

Verification successful

33

TC_FIV_033

Download file with hash verification using script

Verification successful

34

TC_FIV_034

Upload file with hash verification under load

Verification successful

35

TC_FIV_035

Download file with hash verification under load

Verification successful

36

TC_FIV_036

Upload file with hash verification on large file

Verification successful

37

TC_FIV_037

Download file with hash verification on large file

Verification successful

38

TC_FIV_038

Upload file with hash verification on small file

Verification successful

39

TC_FIV_039

Download file with hash verification on small file

Verification successful

40

TC_FIV_040

Upload file with hash verification on encrypted file

Verification successful

41

TC_FIV_041

Download file with hash verification on encrypted file

Verification successful

42

TC_FIV_042

Upload file with hash verification on compressed file

Verification successful

43

TC_FIV_043

Download file with hash verification on compressed file

Verification successful

44

TC_FIV_044

Upload file with hash verification and retry on failure

Retry triggered and success

45

TC_FIV_045

Download file with hash verification and retry on failure

Retry triggered and success

46

TC_FIV_046

Upload file with hash verification and alert to admin

Admin notified on failure

47

TC_FIV_047

Download file with hash verification and alert to admin

Admin notified on failure

48

TC_FIV_048

Upload file with hash verification and audit trail

Audit log updated

49

TC_FIV_049

Download file with hash verification and audit trail

Audit log updated

50

TC_FIV_050

Upload and download with end-to-end integrity check

File verified at both ends

Logging and Auditing - Testcases

S.No

Test Case

Description

Expected Result

1

TC_LA_001

Enable logging on SFTP server

Logging starts successfully

2

TC_LA_002

Disable logging on SFTP server

Logging stops successfully

3

TC_LA_003

Upload a file and check log entry

Upload event is logged

4

TC_LA_004

Download a file and check log entry

Download event is logged

5

TC_LA_005

Delete a file and check log entry

Deletion event is logged

6

TC_LA_006

Rename a file and check log entry

Rename event is logged

7

TC_LA_007

Create a directory and check log entry

Directory creation is logged

8

TC_LA_008

Delete a directory and check log entry

Directory deletion is logged

9

TC_LA_009

Attempt unauthorized access

Unauthorized attempt is logged

10

TC_LA_010

Attempt to access non-existent file

Error is logged

11

TC_LA_011

Successful login attempt

Login success is logged

12

TC_LA_012

Failed login attempt

Login failure is logged

13

TC_LA_013

Session start and end

Session lifecycle is logged

14

TC_LA_014

Log client IP address

IP address is recorded

15

TC_LA_015

Log client username

Username is recorded

16

TC_LA_016

Log file size during transfer

File size is recorded

17

TC_LA_017

Log transfer duration

Duration is recorded

18

TC_LA_018

Log transfer protocol version

Protocol version is recorded

19

TC_LA_019

Log file path accessed

Full path is recorded

20

TC_LA_020

Log file permission changes

Permission change is logged

21

TC_LA_021

Log file ownership changes

Ownership change is logged

22

TC_LA_022

Log symbolic link access

Symlink access is logged

23

TC_LA_023

Log file access via relative path

Relative path is logged

24

TC_LA_024

Log file access via absolute path

Absolute path is logged

25

TC_LA_025

Log file access with path traversal attempt

Attempt is logged and blocked

26

TC_LA_026

Log file access with unicode characters

Unicode filename is logged

27

TC_LA_027

Log file access with special characters

Special characters are logged

28

TC_LA_028

Log file access with long filename

Long filename is logged

29

TC_LA_029

Log file access with invalid characters

Invalid filename attempt is logged

30

TC_LA_030

Log file overwrite event

Overwrite is logged

31

TC_LA_031

Log file integrity check result

Integrity result is logged

32

TC_LA_032

Log file transfer with encryption enabled

Encrypted transfer is logged

33

TC_LA_033

Log file transfer with compression enabled

Compressed transfer is logged

34

TC_LA_034

Log file transfer with resume enabled

Resume event is logged

35

TC_LA_035

Log file transfer with timeout

Timeout is logged

36

TC_LA_036

Log file transfer with retry

Retry attempt is logged

37

TC_LA_037

Log file transfer with checksum verification

Checksum result is logged

38

TC_LA_038

Log file transfer with bandwidth throttling

Throttling is logged

39

TC_LA_039

Log file transfer with session token

Token usage is logged

40

TC_LA_040

Log file transfer with MFA enabled

MFA event is logged

41

TC_LA_041

Log file transfer with expired credentials

Expired session is logged

42

TC_LA_042

Log file transfer with invalid credentials

Invalid credentials are logged

43

TC_LA_043

Log file transfer with audit trail export

Audit trail is exported

44

TC_LA_044

Log file transfer with audit trail disabled

No audit entry is created

45

TC_LA_045

Log file transfer with concurrent sessions

Each session is logged separately

46

TC_LA_046

Log file transfer with session interruption

Interruption is logged

47

TC_LA_047

Log file transfer with session reconnection

Reconnection is logged

48

TC_LA_048

Log file transfer with client disconnect

Disconnect is logged

49

TC_LA_049

Log file transfer with server restart

Restart and recovery are logged

50

TC_LA_050

Log file transfer with full audit compliance

All actions are logged and verified

Cross-Platform Compatibility - Testcases

S.No

Test Case

Description

Expected Result

1

TC_CP_001

Upload file from Windows to Linux server

File uploaded successfully

2

TC_CP_002

Download file from Linux server to Windows

File downloaded successfully

3

TC_CP_003

Upload file from macOS to Windows server

File uploaded successfully

4

TC_CP_004

Download file from Windows server to macOS

File downloaded successfully

5

TC_CP_005

Upload file from Linux to macOS server

File uploaded successfully

6

TC_CP_006

Download file from macOS server to Linux

File downloaded successfully

7

TC_CP_007

Upload file from Android to Linux server

File uploaded successfully

8

TC_CP_008

Download file from Linux server to Android

File downloaded successfully

9

TC_CP_009

Upload file from iOS to Windows server

File uploaded successfully

10

TC_CP_010

Download file from Windows server to iOS

File downloaded successfully

11

TC_CP_011

Upload file from embedded system to Linux server

File uploaded successfully

12

TC_CP_012

Download file from Linux server to embedded system

File downloaded successfully

13

TC_CP_013

Upload file with Windows-style line endings to Linux

File uploaded with correct format

14

TC_CP_014

Download file with Linux-style line endings to Windows

File downloaded with correct format

15

TC_CP_015

Upload file with UTF-8 encoding from macOS

File encoding preserved

16

TC_CP_016

Download file with UTF-8 encoding to Windows

File encoding preserved

17

TC_CP_017

Upload file with special characters from Linux

Filename preserved

18

TC_CP_018

Download file with special characters to Windows

Filename preserved or sanitized

19

TC_CP_019

Upload file with long filename from Windows

File uploaded or error based on OS

20

TC_CP_020

Download file with long filename to macOS

File downloaded or truncated

21

TC_CP_021

Upload file with case-sensitive name from Linux

File uploaded with exact name

22

TC_CP_022

Download file with case-sensitive name to Windows

File may overwrite due to case insensitivity

23

TC_CP_023

Upload file from Windows with hidden attribute

File uploaded without hidden attribute

24

TC_CP_024

Download file to Linux and check hidden status

File downloaded as normal file

25

TC_CP_025

Upload file from Android using SFTP app

File uploaded successfully

26

TC_CP_026

Download file to iOS using SFTP app

File downloaded successfully

27

TC_CP_027

Upload file from Windows using PowerShell

File uploaded successfully

28

TC_CP_028

Download file to Linux using shell script

File downloaded successfully

29

TC_CP_029

Upload file from macOS using Automator

File uploaded successfully

30

TC_CP_030

Download file to Windows using WinSCP

File downloaded successfully

31

TC_CP_031

Upload file from Linux using FileZilla

File uploaded successfully

32

TC_CP_032

Download file to macOS using Cyberduck

File downloaded successfully

33

TC_CP_033

Upload file from Windows with NTFS permissions

Permissions not preserved

34

TC_CP_034

Download file to Linux and check permissions

Default Linux permissions applied

35

TC_CP_035

Upload file from Linux with chmod 755

Permissions preserved on Linux server

36

TC_CP_036

Download file to Windows and check execution

File downloaded, execution depends on OS

37

TC_CP_037

Upload file from iOS with sandbox restrictions

File uploaded if app has access

38

TC_CP_038

Download file to Android with storage permissions

File downloaded successfully

39

TC_CP_039

Upload file from Windows with Unicode filename

Filename preserved or converted

40

TC_CP_040

Download file to Linux with Unicode filename

Filename preserved

41

TC_CP_041

Upload file from Linux with symbolic link

Link uploaded or resolved

42

TC_CP_042

Download file to Windows with symbolic link

Link may be ignored or resolved

43

TC_CP_043

Upload file from macOS with resource fork

Resource fork ignored or stripped

44

TC_CP_044

Download file to Windows and check metadata

Metadata not preserved

45

TC_CP_045

Upload file from Linux with ACLs

ACLs not preserved

46

TC_CP_046

Download file to Windows with ACLs

ACLs not applied

47

TC_CP_047

Upload file from Windows with alternate data streams

ADS ignored or stripped

48

TC_CP_048

Download file to Linux and check for ADS

No ADS present

49

TC_CP_049

Upload file from Linux with extended attributes

Attributes not preserved

50

TC_CP_050

Download file to macOS and check extended attributes

Attributes not preserved

Firewall-Friendly - Testcases

S.No

Test Case

Description

Expected Result

1

TC_FW_001

Connect to SFTP server on default port 22

Connection successful

2

TC_FW_002

Block port 22 on firewall

Connection fails

3

TC_FW_003

Allow port 22 on firewall

Connection successful

4

TC_FW_004

Use SFTP over SSH through firewall

Connection successful

5

TC_FW_005

Attempt SFTP connection on non-standard port

Connection fails unless port is open

6

TC_FW_006

Configure firewall to allow custom SFTP port

Connection successful

7

TC_FW_007

Use SFTP with NAT traversal

Connection successful

8

TC_FW_008

Use SFTP behind corporate firewall

Connection successful if port 22 is open

9

TC_FW_009

Use SFTP with stateful firewall inspection

Connection successful

10

TC_FW_010

Use SFTP with stateless firewall

Connection successful if rules are correct

11

TC_FW_011

Use SFTP with deep packet inspection firewall

Connection allowed if SSH is permitted

12

TC_FW_012

Use SFTP with application-layer firewall

Connection allowed if SFTP is whitelisted

13

TC_FW_013

Use SFTP with port forwarding enabled

Connection successful

14

TC_FW_014

Use SFTP with port forwarding disabled

Connection fails

15

TC_FW_015

Use SFTP with proxy server

Connection successful if proxy allows SSH

16

TC_FW_016

Use SFTP with VPN tunnel

Connection successful

17

TC_FW_017

Use SFTP with IP whitelisting

Connection allowed for whitelisted IPs

18

TC_FW_018

Use SFTP with IP blacklisting

Connection blocked for blacklisted IPs

19

TC_FW_019

Use SFTP with dynamic IP client

Connection successful if firewall allows

20

TC_FW_020

Use SFTP with static IP client

Connection successful

21

TC_FW_021

Use SFTP with firewall logging enabled

Connection logged

22

TC_FW_022

Use SFTP with firewall logging disabled

No connection logs

23

TC_FW_023

Use SFTP with IDS/IPS enabled

Connection allowed unless flagged

24

TC_FW_024

Use SFTP with IDS/IPS blocking SSH

Connection blocked

25

TC_FW_025

Use SFTP with SSH key authentication

Connection successful

26

TC_FW_026

Use SFTP with password authentication

Connection successful

27

TC_FW_027

Use SFTP with brute-force protection

Multiple failed attempts blocked

28

TC_FW_028

Use SFTP with rate limiting

Excessive connections throttled

29

TC_FW_029

Use SFTP with firewall session timeout

Idle session terminated

30

TC_FW_030

Use SFTP with firewall session persistence

Session maintained

31

TC_FW_031

Use SFTP with firewall rule misconfiguration

Connection fails

32

TC_FW_032

Use SFTP with correct firewall rule set

Connection successful

33

TC_FW_033

Use SFTP with IPv6 through firewall

Connection successful

34

TC_FW_034

Use SFTP with IPv4 through firewall

Connection successful

35

TC_FW_035

Use SFTP with dual-stack network

Connection successful

36

TC_FW_036

Use SFTP with firewall port range restriction

Connection successful if port 22 is allowed

37

TC_FW_037

Use SFTP with firewall port scanning detection

Connection may be flagged

38

TC_FW_038

Use SFTP with firewall alerting enabled

Alerts generated on connection

39

TC_FW_039

Use SFTP with firewall alerting disabled

No alerts generated

40

TC_FW_040

Use SFTP with firewall in learning mode

Connection allowed and rule suggested

41

TC_FW_041

Use SFTP with firewall in strict mode

Connection blocked unless explicitly allowed

42

TC_FW_042

Use SFTP with firewall rule for specific user

Connection allowed for that user

43

TC_FW_043

Use SFTP with firewall rule for specific group

Connection allowed for that group

44

TC_FW_044

Use SFTP with firewall rule for specific time window

Connection allowed during allowed time

45

TC_FW_045

Use SFTP with firewall rule for specific file types

Connection allowed regardless of file type

46

TC_FW_046

Use SFTP with firewall rule for specific domains

Connection allowed if domain is permitted

47

TC_FW_047

Use SFTP with firewall rule for specific protocols

Connection allowed for SSH/SFTP

48

TC_FW_048

Use SFTP with firewall rule for specific ports

Connection allowed if port 22 is open

49

TC_FW_049

Use SFTP with firewall rule for specific MAC addresses

Connection allowed for listed MACs

50

TC_FW_050

Use SFTP with firewall rule audit trail

All connection attempts logged and reviewed

Compression Support - Testcases

S.No

Test Case

Description

Expected Result

1

TC_CS_001

Enable compression on SFTP client

Compression enabled successfully

2

TC_CS_002

Disable compression on SFTP client

Compression disabled successfully

3

TC_CS_003

Upload file with compression enabled

File uploaded with reduced size

4

TC_CS_004

Download file with compression enabled

File downloaded with reduced size

5

TC_CS_005

Upload file with compression disabled

File uploaded without compression

6

TC_CS_006

Download file with compression disabled

File downloaded without compression

7

TC_CS_007

Upload large text file with compression

Significant size reduction

8

TC_CS_008

Upload binary file with compression

Minimal or no size reduction

9

TC_CS_009

Upload already compressed file (e.g., .zip)

No further compression

10

TC_CS_010

Download already compressed file

File downloaded as-is

11

TC_CS_011

Upload file with compression and verify integrity

File integrity maintained

12

TC_CS_012

Download file with compression and verify integrity

File integrity maintained

13

TC_CS_013

Upload file with compression and resume transfer

Transfer resumes with compression

14

TC_CS_014

Download file with compression and resume transfer

Transfer resumes with compression

15

TC_CS_015

Upload file with compression and verify speed

Transfer is faster for compressible files

16

TC_CS_016

Download file with compression and verify speed

Transfer is faster for compressible files

17

TC_CS_017

Upload file with compression and slow network

Transfer completes with reduced bandwidth

18

TC_CS_018

Download file with compression and slow network

Transfer completes with reduced bandwidth

19

TC_CS_019

Upload file with compression and packet loss

Transfer retries and completes

20

TC_CS_020

Download file with compression and packet loss

Transfer retries and completes

21

TC_CS_021

Upload file with compression and timeout

Error: Transfer timeout

22

TC_CS_022

Download file with compression and timeout

Error: Transfer timeout

23

TC_CS_023

Upload file with compression and encryption

File uploaded securely and compressed

24

TC_CS_024

Download file with compression and encryption

File downloaded securely and compressed

25

TC_CS_025

Upload file with compression and audit logging

Compression event logged

26

TC_CS_026

Download file with compression and audit logging

Compression event logged

27

TC_CS_027

Upload file with compression using GUI client

File uploaded with compression

28

TC_CS_028

Download file with compression using GUI client

File downloaded with compression

29

TC_CS_029

Upload file with compression using CLI client

File uploaded with compression

30

TC_CS_030

Download file with compression using CLI client

File downloaded with compression

31

TC_CS_031

Upload file with compression using script

File uploaded with compression

32

TC_CS_032

Download file with compression using script

File downloaded with compression

33

TC_CS_033

Upload file with compression and verify CPU usage

CPU usage increases during compression

34

TC_CS_034

Download file with compression and verify CPU usage

CPU usage increases during decompression

35

TC_CS_035

Upload file with compression and verify memory usage

Memory usage within acceptable limits

36

TC_CS_036

Download file with compression and verify memory usage

Memory usage within acceptable limits

37

TC_CS_037

Upload file with compression and verify disk usage

Disk usage reduced on server

38

TC_CS_038

Download file with compression and verify disk usage

Disk usage reduced on client

39

TC_CS_039

Upload file with compression and verify transfer logs

Compression details logged

40

TC_CS_040

Download file with compression and verify transfer logs

Compression details logged

41

TC_CS_041

Upload file with compression and verify compatibility

Compatible with standard SFTP servers

42

TC_CS_042

Download file with compression and verify compatibility

Compatible with standard SFTP clients

43

TC_CS_043

Upload file with compression and verify fallback

Falls back to uncompressed if unsupported

44

TC_CS_044

Download file with compression and verify fallback

Falls back to uncompressed if unsupported

45

TC_CS_045

Upload file with compression and verify error handling

Errors handled gracefully

46

TC_CS_046

Download file with compression and verify error handling

Errors handled gracefully

47

TC_CS_047

Upload file with compression and verify retry logic

Retries succeed with compression

48

TC_CS_048

Download file with compression and verify retry logic

Retries succeed with compression

49

TC_CS_049

Upload file with compression and verify session persistence

Session remains stable

50

TC_CS_050

Download file with compression and verify session persistence

Session remains stable

Symbolic Link Handling - Testcases

S.No

Test Case

Description

Expected Result

1

TC_SL_001

List symbolic link in directory

Symbolic link is listed

2

TC_SL_002

Upload a symbolic link

Link uploaded or resolved based on config

3

TC_SL_003

Download a symbolic link

Target file downloaded or link downloaded

4

TC_SL_004

Delete a symbolic link

Link deleted, target remains

5

TC_SL_005

Rename a symbolic link

Link renamed successfully

6

TC_SL_006

Create a symbolic link via SFTP (if supported)

Link created or error if unsupported

7

TC_SL_007

Access symbolic link pointing to file

Target file accessed

8

TC_SL_008

Access symbolic link pointing to directory

Target directory accessed

9

TC_SL_009

Access broken symbolic link

Error: No such file or directory

10

TC_SL_010

Access symbolic link with relative path

Link resolved correctly

11

TC_SL_011

Access symbolic link with absolute path

Link resolved correctly

12

TC_SL_012

Access symbolic link with circular reference

Error: Too many levels of symbolic links

13

TC_SL_013

Upload symbolic link to file

Target file uploaded or link ignored

14

TC_SL_014

Upload symbolic link to directory

Target directory uploaded or link ignored

15

TC_SL_015

Download symbolic link to file

Target file downloaded

16

TC_SL_016

Download symbolic link to directory

Target directory downloaded

17

TC_SL_017

Follow symbolic link during file transfer

Target file transferred

18

TC_SL_018

Do not follow symbolic link during file transfer

Link transferred as-is or skipped

19

TC_SL_019

Change permissions of symbolic link

Permissions of link or target updated

20

TC_SL_020

Change ownership of symbolic link

Ownership of link or target updated

21

TC_SL_021

List symbolic link with ls -l

Link and target path shown

22

TC_SL_022

Resolve symbolic link using readlink

Target path returned

23

TC_SL_023

Symbolic link to non-SFTP accessible path

Error or access denied

24

TC_SL_024

Symbolic link to restricted file

Access denied

25

TC_SL_025

Symbolic link to restricted directory

Access denied

26

TC_SL_026

Symbolic link with special characters

Link handled correctly

27

TC_SL_027

Symbolic link with unicode characters

Link handled correctly

28

TC_SL_028

Symbolic link with long name

Link handled or error if too long

29

TC_SL_029

Symbolic link with invalid characters

Error: Invalid name

30

TC_SL_030

Symbolic link in hidden directory

Link accessed successfully

31

TC_SL_031

Symbolic link to hidden file

Hidden file accessed

32

TC_SL_032

Symbolic link to file with no permissions

Error: Permission denied

33

TC_SL_033

Symbolic link to file with read-only permissions

File accessed read-only

34

TC_SL_034

Symbolic link to file with write-only permissions

File accessed write-only

35

TC_SL_035

Symbolic link to file with execute-only permissions

File executed if allowed

36

TC_SL_036

Symbolic link to file on different filesystem

File accessed if mount is available

37

TC_SL_037

Symbolic link to file on network share

File accessed if share is mounted

38

TC_SL_038

Symbolic link to file on removable media

File accessed if media is mounted

39

TC_SL_039

Symbolic link to file with ACLs

ACLs respected

40

TC_SL_040

Symbolic link to file with extended attributes

Attributes preserved or ignored

41

TC_SL_041

Symbolic link to file with audit logging enabled

Access logged

42

TC_SL_042

Symbolic link to file with audit logging disabled

Access not logged

43

TC_SL_043

Symbolic link to file with encryption

Encrypted file accessed

44

TC_SL_044

Symbolic link to file with compression

Compressed file accessed

45

TC_SL_045

Symbolic link to file with integrity check

Integrity verified

46

TC_SL_046

Symbolic link to file with backup enabled

Backup triggered

47

TC_SL_047

Symbolic link to file with version control

Version tracked

48

TC_SL_048

Symbolic link to file with checksum validation

Checksum verified

49

TC_SL_049

Symbolic link to file with session timeout

Error: Session expired

50

TC_SL_050

Symbolic link to file with MFA required

Access granted after MFA

Atomic Operations - Testcases

S.No

Test Case

Description

Expected Result

1

TC_AO_001

Upload a file atomically

File appears only after complete upload

2

TC_AO_002

Download a file atomically

File is fully downloaded or not at all

3

TC_AO_003

Rename a file atomically

File renamed without intermediate state

4

TC_AO_004

Delete a file atomically

File is removed in a single operation

5

TC_AO_005

Move a file atomically

File moved without partial state

6

TC_AO_006

Upload fails mid-transfer

No partial file left on server

7

TC_AO_007

Download fails mid-transfer

No partial file saved on client

8

TC_AO_008

Rename fails mid-operation

Original file remains unchanged

9

TC_AO_009

Delete fails mid-operation

File remains intact

10

TC_AO_010

Move fails mid-operation

File remains in original location

11

TC_AO_011

Upload file with retry logic

File uploaded once, no duplicates

12

TC_AO_012

Download file with retry logic

File downloaded once, no corruption

13

TC_AO_013

Upload file with checksum validation

File committed only if checksum matches

14

TC_AO_014

Download file with checksum validation

File saved only if checksum matches

15

TC_AO_015

Upload file with temporary name

File renamed to final name after success

16

TC_AO_016

Download file to temporary name

File renamed to final name after success

17

TC_AO_017

Upload file with lock mechanism

File locked during transfer

18

TC_AO_018

Download file with lock mechanism

File locked during transfer

19

TC_AO_019

Concurrent upload attempts

Only one upload succeeds

20

TC_AO_020

Concurrent download attempts

All downloads succeed without conflict

21

TC_AO_021

Atomic write to existing file

File replaced only after full write

22

TC_AO_022

Atomic append to file

Append operation completes fully or not at all

23

TC_AO_023

Atomic directory creation

Directory appears only after full creation

24

TC_AO_024

Atomic directory deletion

Directory removed only if empty

25

TC_AO_025

Atomic permission change

Permissions updated in a single step

26

TC_AO_026

Atomic ownership change

Ownership updated without intermediate state

27

TC_AO_027

Atomic symbolic link creation

Link appears only after full creation

28

TC_AO_028

Atomic symbolic link deletion

Link removed in a single operation

29

TC_AO_029

Atomic file overwrite

New file replaces old one completely

30

TC_AO_030

Atomic file rollback on failure

Original file restored on failure

31

TC_AO_031

Atomic file sync with remote

File updated only after full sync

32

TC_AO_032

Atomic file transfer with audit logging

Log entry created only after success

33

TC_AO_033

Atomic file transfer with encryption

File encrypted and transferred atomically

34

TC_AO_034

Atomic file transfer with compression

File compressed and transferred atomically

35

TC_AO_035

Atomic file transfer with integrity check

File committed only if integrity verified

36

TC_AO_036

Atomic file transfer with session timeout

Transfer aborted cleanly on timeout

37

TC_AO_037

Atomic file transfer with network failure

No partial file left

38

TC_AO_038

Atomic file transfer with disk full

Transfer fails without partial file

39

TC_AO_039

Atomic file transfer with permission error

Transfer fails without changes

40

TC_AO_040

Atomic file transfer with concurrent session

File integrity maintained

41

TC_AO_041

Atomic file transfer with interrupted session

Transfer resumes or rolls back

42

TC_AO_042

Atomic file transfer with audit trail export

Audit trail reflects only successful operations

43

TC_AO_043

Atomic file transfer with version control

New version committed only after success

44

TC_AO_044

Atomic file transfer with backup enabled

Backup created only after successful transfer

45

TC_AO_045

Atomic file transfer with rollback support

System reverts to previous state on failure

46

TC_AO_046

Atomic file transfer with temporary storage

File moved to final location after success

47

TC_AO_047

Atomic file transfer with file lock release

Lock released only after successful transfer

48

TC_AO_048

Atomic file transfer with file lock timeout

Lock expires and file remains unchanged

49

TC_AO_049

Atomic file transfer with user notification

Notification sent only after success

50

TC_AO_050

Atomic file transfer with logging disabled

No logs created, file still transferred atomically

Session Management - Testcases

S.No

Test Case

Description

Expected Result

1

TC_SM_001

Establish a new SFTP session

Session established successfully

2

TC_SM_002

Terminate an active SFTP session

Session terminated gracefully

3

TC_SM_003

Reconnect after session timeout

New session established

4

TC_SM_004

Resume session after network interruption

Session resumes or reconnects

5

TC_SM_005

Attempt operation after session timeout

Error: Session expired

6

TC_SM_006

Attempt operation after session termination

Error: Session not found

7

TC_SM_007

Maintain session during file transfer

Session remains active

8

TC_SM_008

Maintain session during idle period

Session remains active if timeout not reached

9

TC_SM_009

Auto-disconnect after idle timeout

Session terminated automatically

10

TC_SM_010

Configure custom session timeout

Timeout applied as configured

11

TC_SM_011

Attempt multiple concurrent sessions

All sessions established successfully

12

TC_SM_012

Exceed maximum allowed sessions

Error: Too many sessions

13

TC_SM_013

Monitor session activity logs

Session events logged correctly

14

TC_SM_014

Authenticate session with valid credentials

Session established

15

TC_SM_015

Authenticate session with invalid credentials

Error: Authentication failed

16

TC_SM_016

Authenticate session with expired credentials

Error: Session denied

17

TC_SM_017

Authenticate session with MFA enabled

Session established after MFA

18

TC_SM_018

Attempt session with revoked credentials

Error: Access denied

19

TC_SM_019

Attempt session with locked account

Error: Account locked

20

TC_SM_020

Attempt session with IP restriction

Error: IP not allowed

21

TC_SM_021

Attempt session with MAC restriction

Error: MAC not allowed

22

TC_SM_022

Attempt session with invalid SSH key

Error: Key rejected

23

TC_SM_023

Establish session with valid SSH key

Session established

24

TC_SM_024

Establish session with password authentication

Session established

25

TC_SM_025

Establish session with key-based authentication

Session established

26

TC_SM_026

Establish session with both key and password

Session established

27

TC_SM_027

Log session start and end times

Timestamps recorded

28

TC_SM_028

Log session IP and user details

Session metadata logged

29

TC_SM_029

Log session file activity

File operations logged

30

TC_SM_030

Log session errors

Errors logged correctly

31

TC_SM_031

Log session disconnect reason

Reason recorded

32

TC_SM_032

Attempt session with invalid protocol version

Error: Protocol mismatch

33

TC_SM_033

Attempt session with unsupported cipher

Error: Cipher not supported

34

TC_SM_034

Attempt session with unsupported compression

Error: Compression not supported

35

TC_SM_035

Attempt session with unsupported MAC

Error: MAC not supported

36

TC_SM_036

Attempt session with expired token

Error: Token expired

37

TC_SM_037

Attempt session with invalid token

Error: Invalid token

38

TC_SM_038

Attempt session with expired certificate

Error: Certificate expired

39

TC_SM_039

Attempt session with revoked certificate

Error: Certificate revoked

40

TC_SM_040

Attempt session with valid certificate

Session established

41

TC_SM_041

Attempt session with firewall blocking port

Error: Connection refused

42

TC_SM_042

Attempt session with proxy enabled

Session established via proxy

43

TC_SM_043

Attempt session with VPN enabled

Session established via VPN

44

TC_SM_044

Attempt session with bandwidth throttling

Session established with limited speed

45

TC_SM_045

Attempt session with high latency

Session established with delay

46

TC_SM_046

Attempt session with packet loss

Session retries and succeeds

47

TC_SM_047

Attempt session with encryption enabled

Session encrypted

48

TC_SM_048

Attempt session with compression enabled

Session established with compression

49

TC_SM_049

Attempt session with audit trail enabled

Session logged for auditing

50

TC_SM_050

Attempt session with audit trail disabled

Session not logged

Integration with SSH - Testcases

S.No

Test Case

Description

Expected Result

1

TC_SSH_001

Establish SFTP session over SSH

Session established securely

2

TC_SSH_002

Use SSH key-based authentication

Session authenticated using SSH key

3

TC_SSH_003

Use SSH password-based authentication

Session authenticated using password

4

TC_SSH_004

Use SSH with public-private key pair

Session established with key pair

5

TC_SSH_005

Use SSH with invalid private key

Error: Authentication failed

6

TC_SSH_006

Use SSH with expired key

Error: Key expired

7

TC_SSH_007

Use SSH with revoked key

Error: Key revoked

8

TC_SSH_008

Use SSH with passphrase-protected key

Prompt for passphrase and connect

9

TC_SSH_009

Use SSH with incorrect passphrase

Error: Authentication failed

10

TC_SSH_010

Use SSH with known_hosts verification

Host verified and session established

11

TC_SSH_011

Use SSH with unknown host

Warning or error based on config

12

TC_SSH_012

Use SSH with strict host key checking

Connection denied if host key mismatch

13

TC_SSH_013

Use SSH with disabled host key checking

Connection allowed without verification

14

TC_SSH_014

Use SSH with multiple authentication methods

Session established using fallback

15

TC_SSH_015

Use SSH with MFA enabled

Session established after MFA

16

TC_SSH_016

Use SSH with certificate-based authentication

Session established with certificate

17

TC_SSH_017

Use SSH with expired certificate

Error: Certificate expired

18

TC_SSH_018

Use SSH with revoked certificate

Error: Certificate revoked

19

TC_SSH_019

Use SSH with valid certificate

Session established

20

TC_SSH_020

Use SSH with port forwarding

Session established with port forwarding

21

TC_SSH_021

Use SSH with X11 forwarding disabled

Session established without X11

22

TC_SSH_022

Use SSH with compression enabled

Session established with compression

23

TC_SSH_023

Use SSH with compression disabled

Session established without compression

24

TC_SSH_024

Use SSH with custom port

Session established on custom port

25

TC_SSH_025

Use SSH with default port 22

Session established

26

TC_SSH_026

Use SSH with firewall blocking port 22

Error: Connection refused

27

TC_SSH_027

Use SSH with VPN

Session established over VPN

28

TC_SSH_028

Use SSH with proxy

Session established through proxy

29

TC_SSH_029

Use SSH with IPv6

Session established over IPv6

30

TC_SSH_030

Use SSH with IPv4

Session established over IPv4

31

TC_SSH_031

Use SSH with DNS resolution

Host resolved and session established

32

TC_SSH_032

Use SSH with IP address

Session established using IP

33

TC_SSH_033

Use SSH with session timeout

Session terminated after timeout

34

TC_SSH_034

Use SSH with keep-alive enabled

Session remains active

35

TC_SSH_035

Use SSH with keep-alive disabled

Session may timeout

36

TC_SSH_036

Use SSH with idle timeout

Session terminated after inactivity

37

TC_SSH_037

Use SSH with audit logging enabled

Session activities logged

38

TC_SSH_038

Use SSH with audit logging disabled

No session logs generated

39

TC_SSH_039

Use SSH with brute-force protection

Multiple failed attempts blocked

40

TC_SSH_040

Use SSH with rate limiting

Excessive connections throttled

41

TC_SSH_041

Use SSH with session multiplexing

Multiple sessions share one connection

42

TC_SSH_042

Use SSH with session isolation

Each session uses separate connection

43

TC_SSH_043

Use SSH with encryption algorithm AES

Session encrypted with AES

44

TC_SSH_044

Use SSH with encryption algorithm ChaCha20

Session encrypted with ChaCha20

45

TC_SSH_045

Use SSH with unsupported cipher

Error: Cipher not supported

46

TC_SSH_046

Use SSH with MAC algorithm SHA-2

Session integrity verified

47

TC_SSH_047

Use SSH with unsupported MAC

Error: MAC not supported

48

TC_SSH_048

Use SSH with banner message

Banner displayed on connection

49

TC_SSH_049

Use SSH with login restrictions

Access denied based on policy

50

TC_SSH_050

Use SSH with successful file transfer

File transferred securely over SSH

  • Reference links