This provides the same test coverage as the previous tests, without the dependency on git. It also includes many more specific test cases with assertions, instead of simply relying on the code to not raise an exception.