Skip to content
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

Closed
wants to merge 3 commits into from

Conversation

davidcollom
Copy link

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:
screen shot 2016-02-05 at 8 05 10 pm

Without Namespace: /repository/redis
screen shot 2016-02-05 at 8 18 59 pm

With Namespace: /repository/test/redis
screen shot 2016-02-05 at 8 19 49 pm

@davidcollom davidcollom changed the title Add support for v2 regsitry w/o namespace Add support for v2 registry w/o namespace Feb 5, 2016
@Shelnutt2
Copy link

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?

@dohnto
Copy link

dohnto commented Mar 8, 2016

+1

@Lnic Lnic mentioned this pull request Mar 9, 2016
@axhm3a
Copy link

axhm3a commented Apr 12, 2016

+1

@kwk
Copy link
Owner

kwk commented Apr 12, 2016

@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.

@davidcollom
Copy link
Author

Sure, I should get some time around the next few days.

@arthurdk arthurdk mentioned this pull request Apr 19, 2016
3 tasks
@virtuald
Copy link

virtuald commented Jul 6, 2016

+1

msabramo added a commit to msabramo/docker-registry-frontend that referenced this pull request Jul 10, 2016
`app/app.spec.js` contains tests for various routes, which should be
very useful for finding and fixing routing bugs.

See:

  - kwk#97
  - kwk#100
  - kwk#104
  - kwk#121
kwk pushed a commit that referenced this pull request Jul 19, 2016
* 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`.
@davidcollom davidcollom closed this Nov 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants