Compare commits

...

2 Commits

Author SHA1 Message Date
akkaradej
dcd06d80a3 Fix missing host from ssh source 2018-03-28 16:35:57 +02:00
akkaradej
51a00ff433 Add test for shallow cloning when source is a ssh protocol 2018-03-28 16:35:57 +02:00
2 changed files with 25 additions and 5 deletions

View File

@@ -19,14 +19,14 @@ function GitRemoteResolver(decEndpoint, config, logger) {
this._name = this._name.slice(0, -4);
}
// Get the host of this source
// Get the remote of this source
if (!/:\/\//.test(this._source)) {
this._host = url.parse('ssh://' + this._source).host;
this._remote = url.parse('ssh://' + this._source);
} else {
this._host = url.parse(this._source).host;
this._remote = url.parse(this._source);
}
this._remote = url.parse(this._source);
this._host = this._remote.host;
// Verify whether the server supports shallow cloning
this._shallowClone = this._supportsShallowCloning;

View File

@@ -356,6 +356,26 @@ describe('GitRemoteResolver', function () {
});
});
it('should evaluate to true when source is a ssh protocol and host is defined to support shallow cloning', function (next) {
var testSource = 'git@foo:bar.git';
var MyGitRemoteResolver = gitRemoteResolverFactory(
createCmdHandlerFn(testSource, multiline(function () {/*
foo: bar
Content-Type: application/x-git-upload-pack-advertisement
1234: 5678
*/}))
);
var resolver = new MyGitRemoteResolver({ source: testSource }, defaultConfig({ shallowCloneHosts: ['foo'] }), logger);
resolver._shallowClone().then(function (shallowCloningSupported) {
expect(shallowCloningSupported).to.be(true);
next();
});
});
it('should cache hosts that support shallow cloning', function (next) {
var testSource = 'https://foo/bar.git';