If you need a real linux shell on your Windows 10 system follow these steps 1. Ensure "Windows-Subsystem for Linux" is active on your machine with the following cmd in a admin power shell
Developing Appcelerator mobile Apps is usually done within the Axway Appcelerator Studio. I'm using IntelliJ to develop most of my apps and here is the way how you could build and run you Appcelerator projects. Open the project and create a package.json like this:
OAuth2 is a standard protocol for authorisation. It is a framework which delegates the user authentication to a service, which manages the user accounts. It provides flows for web, desktop and mobile applications. https://oauth.net/2/ OpenID Connect is an extension of OAuth2. An OAuth2 server which implements OpenID connect is a so called OpenID provider (OP). The client of an OpenID connect server is called Relying Party (RP). OpenID Connect offers the possibility to retrieve user profile information beside the access token defined within OAuth2. The user information is delivered within the payload of the id_token or within the access_token. The following steps are the flow of the authorization code flow of an OP
The RP open the app and clicks login
The app starts an authorize request by opening the website which is defined within the authorization endpoint and specifies a redirect url
The user fills in username and password or any information the OP needs to authorise it's user
After the user click's continue on the login page the OP will redirect to the url specified in 2. and add an authorization code as a parameter to the redirect url
The app fetches the authorization code and calls the token endpoint with the grant_type "authorization_code" to obtain an access token
The OP will reply with an access token, refresh token and a lot of other field defined in oauth2 spec
The app could now use the access token to authorize the logged in user
Within the access token or as a separat id token the app could extract user profile information delivered by the OP
Problem
I was unable to build a titanium appcelerator based app on an iMac. My target was ios. So it seems to me that something must be missing within my xcode install.
Solution
Even if they are installed, configure your xcode cmd line tools. Go to
Xcode->Preferences->Locations
and check that the Command Line Tools are visible like in the following screen
Both frameworks are full of testing features. The list of features is quite similar in both frameworks. Here are a few links you might check out the list of relevant features:
I choose TestNG because of a feature which JUnit5 is currently missing
Group Test
This feature let me group my i.e. integration test together and let them run in my master build. With TestNG I could also do a before or after group and initialise my test group or cleanup after group run.
With JUnit5 we got something called Tags. Tags are good for grouping tests together. Let's see if they implement more in this direction in future.
I'll tend to do this within beforeAll to avoid having problems when doing this in beforeEach. Within beforeEach you might end up in error messages like Error: <spyOn> : staticMethod has already been spied upon
at <Jasmine>
at UserContext.<anonymous> src/app/shared/components/result-detail/sample.component.spec.ts:74:5)
at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/proxy.js:128:1)
at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.run node_modules/zone.js/dist/zone.js:138:1)
at runInTestZone node_modules/zone.js/dist/jasmine-patch.js:145:1)
at UserContext.<anonymous> node_modules/zone.js/dist/jasmine-patch.js:160:1)