Add test cases for Blob creation

Simplify the open function for better testability
Prefer switch for engine selection