Commit Graph

20 Commits

Author SHA1 Message Date
Adam Coldrick a2d6b0fe52 Make the docs-draft build point to storyboard-dev
Change-Id: Ie9b91aedfa058570255be0e33ade317cdef39912
2016-05-19 14:19:55 +00:00
Yolanda Robla 97fe898d8e Initial proposal for integration tests
Change-Id: I512b5c9474f80fd690fdea9d926d15b8146144e4
2015-04-07 11:05:19 +02:00
Michael Krotscheck 61922d78cd Enabled eslint:no-shadow
Rule enabled, discovered issues resolved.

Change-Id: I037bb430d69ea5a50a9127278a1eba698868bf25
2015-03-16 14:02:36 -07:00
Yolanda Robla 2250dc91e2 Add grunt-lintspaces module to check cr-at-end in js files
We are having problems in some files, that don't have cr at the end
of the file. Some other editors are automatically adding it, so it's
highlighting non-existent differences on gerrit when editing.

Add grunt-lintspaces to ensure that all js files end with newline.
Update all the files to end with a CR to prevent these errors.

Change-Id: If0c89399dbb5cdf94384e979a3cfe8038850193b
Story: 2000089
2015-01-07 13:29:23 +01:00
Jenkins f032c10fad Merge "Added configuration file for docs-draft." 2014-09-29 19:06:30 +00:00
Michael Krotscheck ad24770d72 Added configuration file for docs-draft.
This adds a config.json file configured so that any docs-draft build
will be able to consume the api at storyboard.openstack.org. For more
information, see https://review.openstack.org/#/c/124211/

This patch won't actually do anything until the js-draft build
has been taught to upload this file.

Change-Id: I03a5be78e6188b51f7221fe782f6a7792b55a79f
2014-09-29 11:24:34 -07:00
Michael Krotscheck 0de4a51783 Simplify API-base configuration.
With the ability to customize the application using config.json, the
complex config discovery used for storyboardApiBase is no longer
necessary. This removes it.

Change-Id: Ie6d0390e30c24b2ca22bd389a817c40823ab80b1
2014-09-29 11:24:11 -07:00
Michael Krotscheck ad453400de Formalized Resource Criteria API
An effort to abstract query parameters so that the resources inform
the system itself how the API is exposed. Could be the first step in
making our API self-describing.

- Deprecated Browse, it was serving only as an abstraction layer
  for Criteria.
- The Criteria service now provides several lambda builders to assist
  in the generation of search criteria. Filtering criteria against a
  resource, mapping criteria against parameters, and generating search
  lambdas.
- Search Criteria controller now has an initialization method that
  allows you to configure it at runtime to the resource it's supposed to
  provide search criteria for.
- Criteria Tag Item has been split out to be more generic.
- Managing criteria has been delegated to the resource itself. Now
  it falls to Project, Story, etc. to inform the system what fields
  it accepts as query parameters.
- Common text criteria resolver has been added.
- Header controller has been switched to use new Resource Criteria API.
- Stories may now be queried on the Story Status field.
- Services are now generated via a service factory rather than by
  using storyboardApiSignature.
- Search is now handled via the resource.search() method.

Change-Id: I1e355320c90f7cdc8cb6ee2191fe819ff7094665
2014-08-11 07:43:54 -07:00
Michael Krotscheck d17fe0362c Error message & notification handling
This patch adds the notification module, a mostly-self contained way
of surfacing errors, warnings and notifications to the user. These
can either be initiated by the application, or can be received from
the server. Among other things, the impact of this will be that
the user will be notified if one of our HTTP requests fails. This
fixes the situation where storyboard would 'fail silently' when
someone is trying to accomplish something.

- New notification module.
- Notifications directive, for a list of all notifications that
made it past filters.
- New Notification service that handles all error broadcasts in the
system.
- New severity directive.
- HTTP Error broadcaster now uses the notification service.
- Session now uses Notification service to handle 401 errors.
- Added new notification filters to strip out 200's and template load
requests.

Change-Id: I4aaa50404560d1c1f14f639e3ac68b2ac2d4380c
2014-06-19 15:21:01 -07:00
Nikita Konovalov de094afed7 Tests updated to check StoryBoard spelling
The code was updated to have a capital B in the middle. The tests should
also be.

Change-Id: Ic1f499aad18b790534c5e5d8e7e75c4b8c4f1fdd
2014-06-06 18:28:25 +04:00
Michael Krotscheck 5a99f483b1 Added unit tests for string_util.
Tests are good. These put some sane rules around our random string
generation utilities, and provides demo code for writing convenience
test methods that can be applied to the global testing environment.

Change-Id: Ib03382068bf3165addc4d96595850b6b0c3087cb
2014-03-28 16:57:32 -07:00
Michael Krotscheck f07bd3b54e Upgraded jasmine
The Async spec in jasmine was updated, and includes the ability to
register custom matchers. I've upgraded our unit tests to make use
of this new framework.

Change-Id: Id00d29df7e0b41f01f5fe68e1b1d86a224e9505b
2014-03-28 16:46:03 -07:00
Nikita Konovalov 9e9ee48918 Auth support
- Created StringUtil class with some useful random string methods.
- Create UrlUtil class with useful URL manipulation and builder methods.
- Cleaned up some unused libraries (cookies, mocks) from index.html
- Added LocalStorage dependency.
- Added advanced routing to auth module for OAuth response routing.
- Added state resolver methods so we can enforce UI states that require
certain session states.
- Removed AuthProvider resolver and resource, as they're no longer necessary.
- Updated header to point to correct routes.
- Updated header to correctly represent state.
- Added busy template for "pending" activity. This shouldn't actually show up
because the javascript will resolve the view logic too quickly, but it's
included for the sake of completion.
- Added error state in case we get an error response from the server. It's
very basic.
- Added request interceptor that attaches an access token to every request
if a valid access token exists.
- Added OpenId service to handle our redirection and token resolution.
- Added Deauthorization (logout) controller.
- Added session management controller.
- Added search param provider to inject non-hashbang query parameters.

Change-Id: Id9b1e7fe9ed98ad4be0a80f1acd4a9e125ec57c9
2014-03-03 13:56:11 -08:00
Michael Krotscheck 34f06c54df Fix NPM CA Chain issue and port conflict.
This patch includes two fixes. First, it disables our functional tests
because of a bug in grunt-connect-proxy, which is fixed by an
as-yet-not-accepted patch here:

81631b20c5

Secondly, it includes a temporary fix for the recent NPM CA chain update
explained here:

http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

The basic premise is that the node package manager no longer supports
their self-signed certificate. This is good! Unfortunately, the
released version of npm is 1.4.4, but the one packaged with nodejs
0.10.26(stable) is 1.4.3. Until nodejs updates itself, we need to
temporarily bork the ca chain to update npm.

Since we're using throwaway slaves, and it's a temporary fix, and
node is only used for builds, I feel this is an acceptable risk.

Change-Id: Ic510e55355966591affbe25ce3f831ca424b2afa
2014-02-28 14:04:01 -08:00
Michael Krotscheck 062836f2dd MVP Storyboard Client
This patch constitutes the work discussed in Brussels for the MVP webclient.
 Changes made, as follows:

1- Updated header to contain Overview, Projects, Stories, and a "New Story"
button, including mobile treatment.
2- Updated navigation header to use selection styling for mobile and regular.
3- Application index contains new-story button.
4- Main application container now has a minheight.
5- Removed old controllers (code cleanup) before reimplementation.
6- Wired project views (require API support).
7- Wired story views (require API support).
8- Wired new story modal (require API support).
9- New task form (requires API support).
10- Wired up new functional tests and fixed a few issues in existing unit
tests.
11- Switched LESS compiler from recess to less, since recess can no longer
compile the most recent version of bootstrap.

Change-Id: Iddd5b29dd899d92f05ad7a9a63814d8599e167d4
2014-02-26 11:34:27 -08:00
Michael Krotscheck af49f0ca06 Changed default API base to match WSGI module
Turns out the wsgi module on the hosted storyboard api has a root path of /api/v1,
rather than /v1 as in the dev environment. This change fixes the default in the
webclient. The API's changes will be done independently.

Change-Id: I3242df5886db96509561db81ef5b082bed3264da
2014-01-27 17:46:38 -08:00
Michael Krotscheck 47b3f87fce Simple round trip API integration with storyboard-api
This commit makes use of previous API inclusions and resource frameworks to
demonstrate a simple list round-trip from server to client. To properly see
it in action, please retrieve CR 68540 and run that alongside grunt server.
It will allow you to create, edit, and list project groups with a simple UI.

Change-Id: Ie95685a6fd3cd3ab2b674bef3685b2896eb72f0d
2014-01-23 07:25:30 -08:00
Michael Krotscheck 32283d03cc Storyboard API Interface and basic project management
Here I add three major components: Firstly, the API abstractions (resources) that drive our consumption of the
storyboard API. Secondly, a series of API mock interceptors that trigger when HTTP requests are made and simulate
the existence of the storyboard API. Lastly, a basic UI for project creation, listing, and management.

Change-Id: Idbce8252237b0f9fbb9dd2330b952f9a6432c694
2014-01-21 17:31:50 -08:00
Michael Krotscheck 9ebb3572cc Added route tests for authentication
Two new functional tests that assert that when a user attempts to access
any route in the /auth statechart, it will resolve to the list.

Change-Id: I28655c513aacf49b8f7a398f99929ddfcf61c372
2014-01-15 11:10:48 -08:00
Michael Krotscheck 197d5dd2bd Initial commit
This contains the initial commit for the storyboard web client
project, consisting of the basic build & testing harnesses,
simple set of routes, and a list of basic dependencies
necessary to run an application. It's purpose is to be
reference Javascript/Angular project to test out the build
images.
2014-01-14 18:49:39 -08:00