-
Notifications
You must be signed in to change notification settings - Fork 612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for v2 registry w/o namespace #100
Conversation
We are unable to use this UI because of this lack of namespace issue. If this could get merged it would solve the problem. @kwk is there a blocker from merging this? |
+1 |
+1 |
@Shelnutt2, @davidcollom first of all, I'm simply too busy right now to manually test it. Can you test this PR and make sure it is rebased on the current master? I'm not sure if the newly added tag details show up with this PR. |
Sure, I should get some time around the next few days. |
+1 |
* Make "npm test" run Karma tests Result is this: ``` $ npm test > docker-registry-frontend@0.0.2 pretest /Users/marca/dev/git-repos/docker-registry-frontend_2 > npm install > docker-registry-frontend@0.0.2 postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2 > bower install > docker-registry-frontend@0.0.2 test /Users/marca/dev/git-repos/docker-registry-frontend_2 > karma start test/karma.conf.js 09 07 2016 13:36:20.771:WARN [karma]: No captured browser, open http://localhost:8080/ 09 07 2016 13:36:20.781:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/ 09 07 2016 13:36:20.782:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 09 07 2016 13:36:20.788:INFO [launcher]: Starting browser PhantomJS 09 07 2016 13:36:21.250:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#Z4MF21dfMgThOi3zAAAA with id 9538616 PhantomJS 2.1.1 (Mac OS X 0.0.0) Controller: MainCtrl should attach a list of awesomeThings to the scope FAILED forEach@bower_components/angular/angular.js:326:24 loadModules@bower_components/angular/angular.js:4115:12 createInjector@bower_components/angular/angular.js:4041:22 workFn@bower_components/angular-mocks/angular-mocks.js:2464:60 loaded@http://localhost:8080/context.js:151:17 bower_components/angular/angular.js:4155:53 TypeError: undefined is not an object (evaluating 'scope.awesomeThings') in test/spec/controllers/main.js (line 20) test/spec/controllers/main.js:20:17 loaded@http://localhost:8080/context.js:151:17 PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.005 secs / 0.006 secs) ``` Fixes #139 * Make MainController tests work This makes the `MainController` tests pass. ``` $ npm test > docker-registry-frontend@0.0.2 pretest /Users/marca/dev/git-repos/docker-registry-frontend_2 > npm install > docker-registry-frontend@0.0.2 postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2 > bower install > docker-registry-frontend@0.0.2 test /Users/marca/dev/git-repos/docker-registry-frontend_2 > karma start test/karma.conf.js 09 07 2016 17:06:59.974:WARN [karma]: No captured browser, open http://localhost:8080/ 09 07 2016 17:06:59.986:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/ 09 07 2016 17:06:59.986:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 09 07 2016 17:07:00.133:INFO [launcher]: Starting browser PhantomJS 09 07 2016 17:07:01.051:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#6enEIdsugSVdKVioAAAA with id 62465837 PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 SUCCESS (0.004 secs / 0.024 secs) ``` * test/karma.conf.js: Add more files E.g.: - angular-bootstrap, - angular-bootstrap-checkbox - angular-filter - angular-loading-bar - angular-moment - angular-smart-table I also alphabetized the list to make it easier to check if something is already included. * test/karma.conf.js: Add 'dots' reporter * Add app/app.spec.js `app/app.spec.js` contains tests for various routes, which should be very useful for finding and fixing routing bugs. See: - #97 - #100 - #104 - #121 * Enable junit and spec Karma reporters * app/app.spec.js: Check scope attributes * app/app.spec.js: Check scope.appMode * test/spec/controllers/main.js: Check appVersion & registryHost * MainController: use registry-services In `MainController`, depend on the `registry-services` module instead of the `registry-host-services` module. * Remove app/services/registry-host-services.js Remove `app/services/registry-host-services.js` because it seems to be an older, unused version of `app/services/registry-services.js` * repository-list-controller: Add dependencies Specify that the `repository-list-controller` module depends on `ngRoute` and `ui.bootstrap` modules. Otherwise controller tests of this module fail. * $scope.repositories = data; In `repository-list-controller`, do: $scope.repositories = data; in the promise callback. Otherwise, the new tests in `app/repository/repository-list-controller.spec.js` fail. This is because promises get resolved in templates but not in until tests -- see http://stackoverflow.com/questions/15048132/angularjs-promise-not-being-resolved-in-unit-test * Add unit test for RepositoryListController in `app/repository/repository-list-controller.spec.js`. RepositoryListController ✓ should attach some keys to the scope * Gruntfile.js: Use DOCKER_REGISTRY_{HOST,PORT} Use `DOCKER_REGISTRY_HOST` and `DOCKER_REGISTRY_PORT` environment variables so that one can specify a custom Docker registry server while developing, without hacking `Gruntfile.js`.
When an image has been uploaded to a V2 registry, without a namespace.
This PR should allow users to still be able to view these images.
This is my first time working on an AngularJS project so, feel free to reject or implement in a better way.
Feedback is appreciated.
Index view:
Without Namespace: /repository/redis
With Namespace: /repository/test/redis