Hi Milindu, Thanks for all the hard work! You have done a great job completing this Google Summer of Code project. Please send us a pull request with your latest changes.
Please feel free to contribute to Stratos whenever time permits. Thanks On Mon, Aug 24, 2015 at 5:47 PM, Milindu Sanoj Kumarage < agentmili...@gmail.com> wrote: > Hi, > > Here is the recorded Hangout :) > > https://www.youtube.com/watch?v=VjMIk5F9Ba > > And here is a small blog post I wrote on how I implemented the Stratos CLI > > http://agentmilindu.com/python-cli-apache-stratos/ > > > > On Wed, Aug 19, 2015 at 9:42 PM, Milindu Sanoj Kumarage < > agentmili...@gmail.com> wrote: > >> Hi, >> >> Here is the link to Hangout :) >> >> https://plus.google.com/hangouts/_/hoaevent/AP36tYff-vrxKu7_Mymm8ZuD0_8hqlP_XRHSADiig8b4mhb7UK1pjA >> >> >> On Wed, Aug 19, 2015 at 9:38 PM, Imesh Gunaratne <im...@apache.org> >> wrote: >> >>> +1 Can you please share the Hangout link? >>> >>> Thanks >>> >>> On Tue, Aug 18, 2015 at 10:54 PM, Chamila De Alwis <chami...@wso2.com> >>> wrote: >>> >>>> +1 I can attend. >>>> >>>> (On a mobile) >>>> Regards, >>>> Chamila de Alwis >>>> Committer and PMC Member - Apache Stratos >>>> Software Engineer - WSO2 >>>> http://code.chamiladealwis.com >>>> On Aug 18, 2015 12:04 PM, "Milindu Sanoj Kumarage" < >>>> agentmili...@gmail.com> wrote: >>>> >>>>> Hi, extremely sorry, the date is 19th, we are having the Hangout on >>>>> Air for Stratos Python CLI on 19th Au from 9:30p.m IST onward. Is this >>>>> time >>>>> and date convenient? >>>>> >>>>> https://plus.google.com/u/0/events/c8d9682n9bris9at4ucppot9jbo >>>>> >>>>> On Tue, Aug 18, 2015 at 9:02 PM, Milindu Sanoj Kumarage < >>>>> agentmili...@gmail.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> We are having a Hangout on Air for Stratos Python CLI on 9:30p.m. IST >>>>>> :) >>>>>> >>>>>> https://plus.google.com/u/0/events/c8d9682n9bris9at4ucppot9jbo >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Sun, Aug 16, 2015 at 4:14 PM, Milindu Sanoj Kumarage < >>>>>> agentmili...@gmail.com> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I have finished the documentation except for some few commands that >>>>>>> I still have issues. >>>>>>> >>>>>>> >>>>>>> https://docs.google.com/document/d/1GEdrOyIGF-zdwVry7t6-WYFMeEC0Y_Ki3ExyZFYCXdw/edit?usp=sharing >>>>>>> >>>>>>> I did two small demonstration videos on how to use and how to config >>>>>>> :) >>>>>>> >>>>>>> >>>>>>> https://www.youtube.com/playlist?list=PL2zdjxqMDj71dlnYitq59PzEoOAG21Uhq >>>>>>> <https://youtu.be/dzreFlxlKKM> >>>>>>> >>>>>>> I'm working on testings and those issues I mentioned earlier. >>>>>>> >>>>>>> >>>>>>> On Wed, Aug 12, 2015 at 12:37 AM, Milindu Sanoj Kumarage < >>>>>>> agentmili...@gmail.com> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I want to know which commands should output that tree-like view of >>>>>>>> JSON data. >>>>>>>> >>>>>>>> in list-deployment-policies what 'Accessibility' means? How i >>>>>>>> should retrieve it from the JSON response? >>>>>>>> >>>>>>>> +---------------------+---------------+ >>>>>>>> >>>>>>>> | Id | Accessibility | >>>>>>>> >>>>>>>> +=====================+===============+ >>>>>>>> >>>>>>>> | deployment-policy-2 | 1 | >>>>>>>> >>>>>>>> | deployment-policy-1 | 1 | >>>>>>>> >>>>>>>> +---------------------+---------------+ >>>>>>>> >>>>>>>> There are couple of commands that gives me errors when I send the >>>>>>>> request, I have to check that too. >>>>>>>> >>>>>>>> I'd do the demo as soon as I finished the document, because I want >>>>>>>> to know everything is working as expected :) Few more commands to go. >>>>>>>> >>>>>>>> Hi Milindu, >>>>>>>> >>>>>>>> Great work so far! Could you mention what commands and outputs are >>>>>>>> less clear? >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Chamila de Alwis >>>>>>>> Committer and PMC Member - Apache Stratos >>>>>>>> Software Engineer | WSO2 | +94772207163 >>>>>>>> Blog: code.chamiladealwis.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sun, Aug 9, 2015 at 1:59 PM, Milindu Sanoj Kumarage < >>>>>>>> agentmili...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I have finished implementing all the CLI commands, except very few >>>>>>>>> which I have some doubts ( like, how the output should be presented ) >>>>>>>>> :) >>>>>>>>> >>>>>>>>> I started writing a document explaining each and every command >>>>>>>>> with their expected outputs ( when correct params are given, when no >>>>>>>>> params >>>>>>>>> are given and when wrong params are given ) I will continue writing >>>>>>>>> the >>>>>>>>> test cases based on them. >>>>>>>>> >>>>>>>>> As discussed on Hangout, I will do a demo, record it and share >>>>>>>>> soon :) >>>>>>>>> >>>>>>>>> On Wed, Jul 29, 2015 at 10:34 AM, Milindu Sanoj Kumarage < >>>>>>>>> agentmili...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I could finish most of the listing command and now working with >>>>>>>>>> the create and update commands. I'm running Java CLI to get an idea >>>>>>>>>> how the >>>>>>>>>> output should be presented. Had to fix some issues related to that >>>>>>>>>> "-" >>>>>>>>>> issue also, regarding auto-completion. I started writing test cases >>>>>>>>>> for >>>>>>>>>> utility methods, and will start writing test cases for Stratos >>>>>>>>>> specific >>>>>>>>>> ones this week. I'm using Tox to run my tests on different Python >>>>>>>>>> versions, >>>>>>>>>> 2.x ones and 3.z ones. >>>>>>>>>> >>>>>>>>>> On Thu, Jul 9, 2015 at 2:52 PM, Milindu Sanoj Kumarage < >>>>>>>>>> agentmili...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I invested last 2 week on some research on Testing frameworks >>>>>>>>>>> and Security Certificates. CA Bundles and Pem files were something >>>>>>>>>>> I had >>>>>>>>>>> no experience, therefor I studied on that. Studied Java security >>>>>>>>>>> API and >>>>>>>>>>> Stratos's Java CLI's Certificate handling codes ( Keystores, etc ). >>>>>>>>>>> >>>>>>>>>>> *Testing frameworks* >>>>>>>>>>> >>>>>>>>>>> 1. Unittest ( docs.python.org/2/library/unittest.html ) [ PSF( >>>>>>>>>>> GPL-compatible ) ] >>>>>>>>>>> >>>>>>>>>>> Python's unit testing module since 2.7. Very similar to JUnit >>>>>>>>>>> for Java. Gives very descriptive outputs when found assertion >>>>>>>>>>> errors. >>>>>>>>>>> >>>>>>>>>>> 2. Unittest2 ( pypi.python.org/pypi/unittest2 ) [ BSD ] >>>>>>>>>>> >>>>>>>>>>> unittest2 is a backport of the new features added to the >>>>>>>>>>> unittest testing framework in Python 2.7 and onwards. Supports back >>>>>>>>>>> to >>>>>>>>>>> Python 2.4+. >>>>>>>>>>> >>>>>>>>>>> 3. PyTest ( pytest.org/ ) [ MIT ] >>>>>>>>>>> >>>>>>>>>>> Very popular unit testing tool which is an alternative to >>>>>>>>>>> Python’s standard unittest module. Gives very descriptive outputs >>>>>>>>>>> when >>>>>>>>>>> found assertion errors. Integrates nicely with setup.py. Python 2 >>>>>>>>>>> and 3 >>>>>>>>>>> compatible. >>>>>>>>>>> >>>>>>>>>>> 4. Nose ( nose.readthedocs.org/en/latest ) [ LGPL ] >>>>>>>>>>> >>>>>>>>>>> Nose extends unittest to make testing easier. Same as PyTest. >>>>>>>>>>> Python 2 and 3 compatible. >>>>>>>>>>> >>>>>>>>>>> 5. Tox ( tox.readthedocs.org/en/latest/ ) [ MIT ] >>>>>>>>>>> >>>>>>>>>>> Tox is a generic virtualenv management and test command line >>>>>>>>>>> tool. We can setup several Python virtual environments and run our >>>>>>>>>>> tests on >>>>>>>>>>> those environments. This is a very useful tool to ensure the >>>>>>>>>>> compatibility >>>>>>>>>>> with Python 2 and Python 3 versions. PyTest, nose and unittest >>>>>>>>>>> modules are >>>>>>>>>>> compatible with tox. Able to easily integrate with continuous >>>>>>>>>>> integration >>>>>>>>>>> servers like Jenkins. >>>>>>>>>>> >>>>>>>>>>> 6. Doctest ( docs.python.org/2/library/doctest.htmlt ) [ PSF( >>>>>>>>>>> GPL-compatible ) ] >>>>>>>>>>> >>>>>>>>>>> Python module that checks for interactive Python sessions in >>>>>>>>>>> docstrings, and then executes those sessions to verify that they >>>>>>>>>>> work >>>>>>>>>>> exactly as shown. >>>>>>>>>>> >>>>>>>>>>> 7. Atheist ( arco.esi.uclm.es/~david.villa/atheist/html/ ) [ >>>>>>>>>>> GFDL ] >>>>>>>>>>> >>>>>>>>>>> A great tool for command line testing, it issues the commands to >>>>>>>>>>> the underlying shell and compares the output with the intended >>>>>>>>>>> output. Now >>>>>>>>>>> discontinued but bug-maintained. >>>>>>>>>>> >>>>>>>>>>> 8. Prego ( bitbucket.org/arco_group/prego ) [ GPLv3+ ] >>>>>>>>>>> >>>>>>>>>>> Successor of Atheist, which provides support to run shell >>>>>>>>>>> commands on background, send signal to processes, set assertions on >>>>>>>>>>> command >>>>>>>>>>> stdout or stderr, etc. Very suitable in CLI testing tasks. >>>>>>>>>>> >>>>>>>>>>> 9. ScriptTest ( pythonpaste.org/scripttest/ ) [ MIT-style >>>>>>>>>>> permissive license ] >>>>>>>>>>> >>>>>>>>>>> Something like Prego, but seems less features. >>>>>>>>>>> >>>>>>>>>>> 10. Behave ( jenisys.github.io/behave.example/ ) [ BSD ] >>>>>>>>>>> >>>>>>>>>>> A BDD framework and a cucumber-clone for Python. Cucumber is a >>>>>>>>>>> nice way for feature testing where we define the features in simple >>>>>>>>>>> English >>>>>>>>>>> and that will become the tests. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I definitely will be using Tox because it makes us test the >>>>>>>>>>> Python CLI on different Python versions. But Tox alone can not test >>>>>>>>>>> the >>>>>>>>>>> CLI. We have to us some other testing framework on Tox. I'm >>>>>>>>>>> wondering what >>>>>>>>>>> to use where. We can use PyTest for unit test Stratos.py which >>>>>>>>>>> calls the >>>>>>>>>>> Stratos RESTAPI. But we have to test the CLI functionalities also, >>>>>>>>>>> using >>>>>>>>>>> some kind of CLI testing tool. I think I need some advice here :) >>>>>>>>>>> >>>>>>>>>>> Meanwhile, I continued implementing other "list" CMD actions in >>>>>>>>>>> Python CLI. I see some repetition in error code handling stuffs, I'm >>>>>>>>>>> thinking of a way to write a general method for error handling and >>>>>>>>>>> error >>>>>>>>>>> reporting. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>> >>> >>> -- >>> Imesh Gunaratne >>> >>> Senior Technical Lead, WSO2 >>> Committer & PMC Member, Apache Stratos >>> >> >> > -- Imesh Gunaratne Senior Technical Lead, WSO2 Committer & PMC Member, Apache Stratos