Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 63315
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T18:36:48+00:00 2026-05-10T18:36:48+00:00

I have some written a number of unit tests that test a wrapper around

  • 0

I have some written a number of unit tests that test a wrapper around a FTP server API.

Both the unit tests and the FTP server are on the same machine.

The wrapper API gets deployed to our platform and are used in both remoting and web service scenarios. The wrapper API essentially takes XML messages to perform tasks such as adding/deleting/updating users, changing passwords, modifying permissions…that kinda thing.

In a unit test, say to add a user to a virtual domain, I create the XML message to send to the API. The API does it’s work and returns a response with status information about whether the operation was successful or failed (error codes, validation failures etc).

To verify whether the API wrapper code really did do the right thing (if the response indicated success), I invoke the FTP server’s COM API and query its store directly to see if, for example when creating a user account, the user account really did get created.

Does this smell bad?

Update 1: @Jeremy/Nick: The wrapper is the focus of the testing, the FTP server and its COM API are 3rd party products, presumably well tested and stable. The wrapper API has to parse the XML message and then invoke the FTP server’s API. How would I verify, and this may be a silly case, that a particular property of the user account is set correctly by the wrapper. For example setting the wrong property or attribute of an FTP account due to a typo in the wrapper code. A good example being setting the upload and download speed limits, these may get transposed in the wrapper code.

Update 2: thanks all for the answers. To the folks who suggested using mocks, it had crossed my mind, but the light hasn’t switched on there yet and I’m still struggling to get my head round how I would get my wrapper to work with a mock of the FTP server. Where would the mocks reside and do I pass an instance of said mocks to the wrapper API to use instead of calling the COM API? I’m aware of mocking but struggling to get my head round it, mostly because I find most of the examples and tutorials are so abstract and (I’m ashamed to say) verging on the incomprehensible.

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T18:36:49+00:00Added an answer on May 10, 2026 at 6:36 pm

    You seem to be mixing unit & component testing concerns.

    • If you’re unit-testing your wrapper, you should use a mock FTP server and don’t involve the actual server. The plus side is, you can usually achieve 100% automation like this.
    • If you’re component-testing the whole thing (the wrapper + FTP server working together), try to verify your results at the same level as your tests i.e. by means of your wrapper API. For example, if you issue a command to upload a file, next, issue a command to delete/download that file to make sure that the file was uploaded correctly. For more complex operations where it’s not trivial to test the outcome, then consider resorting to the COM API ‘backdoor’ you mentioned or perhaps involve some manual verification (do all of your tests need to be automated?).
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Hi I have some software written in VB6.0 that uses an SQL Server, but
I have written some code in java that will guess a number based on
We’ve found that the unit tests we’ve written for our C#/C++ code have really
I'm just getting into unit testing, and have written some short tests to check
I have some software written in VB.NET that performs a lot of calculations, mostly
I have written some code to ensure that items on an order are all
I have written some WebGL code, actually I am playing with the examples that
I have some content (some from an external source, some specially written) that is
I have written some JavaScript and jQuery code that accepts only numeric input in
I have written some Rspec test cases in my spec/models/season_spec.rb file. They are as:-

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.