Unit tests using SSL COM .Net Wrappers don't trigger callback functions
We are using legacy SSL COM .NET wrapper classes in our apps and I'm trying to unit test some new functionality. I can test my functionality if I create a new Windows App, set the appropriate callback functions, and call the "start" method on the ssl record. However, if I do the same thing in either a console app or in a Unit test running under Visual Studio Testing framework, I can't get the the ssl libraries to call my callback functions. I believe it has something to do with the Windows message pump and how it executes (or doesn't) in a Console App and in a Visual Studio testing app. Can you point me to some information on how the threading model or the record update model works with the message pump so I can implement my tests correctly? if you have examples of unit tests, better yet.
Thanks,
Vicente.
Best Answer
-
The info of SSL COM thread model is in Chapter 2.5 of developer guide.
Basically, SSL COM uses the Single Threaded Apartment(STA) model of COM.
I am not familiar with Visual Studio Testing Framework, but if you use NUnit you may have to use RequiresSTA attribute.
The SSL COM package also has console app example under "\SSL Developers Kit - COM Edition 1.2\examples\C#\ssltickr"
0
Answers
-
Thanks for your answer. I did find the info you suggested in the developer guide. I've been able to create a test program using a console app, and I'm also able to work with the api's in a windows application. Unfortunately, I cannot get the api to work in a testing framework like Visual Studio Testing Framework or NUnit, regardless of whether I use STA or MTA apartments.
0 -
If you wish to test the API callback. I would suggest that you should do system test instead.
UnitTest is for testing single method, Having API call the callback function in UnitTest is not a feasible task.
Instead you could just have mock the real feed with a provider app made with API and then connect to that provider in system test.
1 -
Agree with you. That's what I've done using a mock Windows app. Thanks.
0 -
Agree with you. That's what I've done using a mock Windows app. Thanks
BTW, this should be marked as the correct answer to the original question. Thxs.
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛