Hi Dishara, In Sling ( and OSGi environments) the best practice is to first use JUnit test, then JUnit tests with Mocked services (using Mockito), then by spinning up an OSGi Container using PAX Exam and finally with integration tests that can run in a real instance. Ultimately testing with a real application exercised by http scripts. How many of those you use will really depend on the level of coverage required.
I would suggest for this project you start with JUnit tests and Mockito. That might be all you need to verify the code you are writing. Best Regards Ian On 21 June 2013 02:58, Dishara Wijewardana <[email protected]> wrote: > On Thu, Jun 20, 2013 at 3:13 AM, Dishara Wijewardana < > [email protected]> wrote: > > > > > > > On Thu, Jun 20, 2013 at 2:53 AM, Ian Boston <[email protected]> wrote: > > > >> On Thursday, June 20, 2013, Dishara Wijewardana wrote: > >> > >> > On Wed, Jun 19, 2013 at 9:08 PM, Dishara Wijewardana < > >> > [email protected] <javascript:;>> wrote: > >> > > >> > > > >> > > > >> > > On Wed, Jun 19, 2013 at 4:54 AM, Ian Boston <[email protected] > >> <javascript:;>> > >> > wrote: > >> > > > >> > >> Hi Dishara, > >> > >> Thats great. > >> > >> Two things that are relevant to your project that it would be good > to > >> > have > >> > >> a think about, try and implement and experiment with. > >> > >> > >> > >> 1. What happens when you have a very active blogger, who makes > 20000 > >> > blog > >> > >> posts a year ? Think about the content and how it is structured. > >> > >> > >> > >> 2. Can you add file upload to the blog ? > >> > >> > >> > >> > >> > >> 3. What would happen the blog was a photo sharing blog where a > >> > >> photographer > >> > >> had just come back from a location survey with a 32GB card full of > >> low > >> > res > >> > >> (0.5MB) Jpegs ? > >> > >> > >> > >> Have a go at implementing the above and writing a script to > simulate > >> the > >> > >> usage. You might want to write the test script in bash/python/ruby > or > >> > even > >> > >> Java. > >> > >> > >> > > > >> > > +1. Very nice set of features to have to try out with Sling. Will > try > >> > them > >> > > out whenever possible during the implementation phase, > >> > > > >> > >> > >> > >> > >> > >> BTW. Your going to need a source repository. Have a look at Google > >> Code, > >> > >> GitHub, Bitbucket and get an account. If you could use Git or SVN > >> that > >> > >> would be great as I know they are both compatible with SVN. > >> > >> > >> > > +1 for Google Code. > >> > > > >> > Hi Ian > >> > I created a google code svn project. > >> > >> > >> > >> Excellent, do you have a URL ? > >> > > > > Oops. I forgot to add the url earlier. Here it is. [2]. I added some > codes > > which uses hector/cql for a directory called scratch(to test my stuff). I > > will create a separate osgi bundle project in the trunk of this and > > maintain it as the major code. > > > > [2] - http://code.google.com/p/cassandra-backend-for-sling/ > > > > > >> > >> > >> > >> > Wouldn't I be need adding codes to > >> > sling trunk ? > >> > >> > >> No. > >> You will need to depend on the Sling Api and you can reference that as a > >> maven dependency. Either a released dependency, or a snapshot if you > need > >> an Api that has not been released. > >> > >> Understood. +1. > > > Hi Ian > Suppose I created a separate OSGi bundle for this project. How can I test > it. We can test it internally, but how to test it as a whole ? (initially > we might not need integrated tests) > > > > > > >> > >> > >> > >> > >> > I have to create ResourceProviders and etc in sling core. > >> > >> > >> No. Your project will generate a separate osgi bundle that will be added > >> to > >> an instance of sling. That will probably be done via the web insole or > >> using the sling bundle installer plugin invoked using > >> Mvn clean install sling:install > >> > >> > >> > >> > >> > My > >> > codes should be basically inside the sling trunk/branch. So how to > >> achieve > >> > this with a separate code base. Did you mean copy the sling trunk to > my > >> > google code project and start working on it and once project is done, > >> merge > >> > the changes to the apache trunk? > >> > > >> > > >> Yes. Even the sling committers often work in the whiteboard area ie not > >> trunk, when developing proof of concepts. If they work they go into > >> contrib, and if everyone wants them the bundle goes into the standalone > >> build. We rarely add new functionality to the core bundle. > >> > >> HTH > >> Best regards > >> Ian > >> > >> > >> Send from my iPad, sorry for the typos etc... > >> > >> > >> > >> > >> > >> > >> > > > >> > >> Best Regards > >> > >> Ian > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> On 19 June 2013 05:18, Dishara Wijewardana < > [email protected] > >> <javascript:;> > >> > > > >> > >> wrote: > >> > >> > >> > >> > Hi Ian, > >> > >> > Before I tried [1], first of all I tried p[2] which was also > quite > >> > >> > interesting. (how easy it is to render a given sling node in a > >> given > >> > >> html > >> > >> > format and etc). It works fine without any issues.I used curl > >> commands > >> > >> > always. Some of the specified URLs in the example is refers to > port > >> > >> 8888, > >> > >> > but it should be 8080 by default. Because when I changed to 8080 > >> only > >> > it > >> > >> > works for me. > >> > >> > > >> > >> > Thank you very much for the link[1] which gave me some what > >> > >> understanding > >> > >> > of an end user experience of sling. (even though I tried it at > very > >> > last > >> > >> > moment before GSoC begins). I believe there is quite a many, more > >> > useful > >> > >> > functions provided on the sling.js library other than which > >> specified > >> > in > >> > >> > [1]. > >> > >> > > >> > >> > [1] - > >> > >> > > >> > >> > >> > > >> > http://sling.apache.org/documentation/tutorials-how-tos/46-line-blog.html > >> > >> > [2] - > >> > >> > > >> > >> > > >> > >> > >> > > >> > http://sling.apache.org/documentation/getting-started/discover-sling-in-15-minutes.html#create-some-content > >> > >> > > >> > >> > > >> > >> > On Fri, Jun 7, 2013 at 10:30 AM, Ian Boston <[email protected] > >> <javascript:;>> > >> > wrote: > >> > >> > > >> > >> > > On 31 May 2013 03:29, Dishara Wijewardana < > >> [email protected]<javascript:;> > >> > > > >> > >> > wrote: > >> > >> > > > >> > >> > > > > I know you have already looked into the code base, but I > >> would > >> > >> > > thoroughly > >> > >> > > > > recommend that you do some of the exercises on the > >> website[1], > >> > and > >> > >> > > build > >> > >> > > > a > >> > >> > > > > simple application, perhaps a photo sharing app > >> (Slingstagram?), > >> > >> so > >> > >> > > that > >> > >> > > > > you get a real understanding of how Sling works. > >> > >> > > > > > >> > >> > > > > >> > >> > > > +1. I think that is good and which i have not tried out yet. > I > >> > will > >> > >> try > >> > >> > > > this out and will post if need help > >> > >> > > > > >> > >> > > > > >> > >> > > > > >> > >> > > > >> > >> > > Did you make any progress or have any problems ? > >> > >> > > Ian > >> > >> > > > >> > >> > > >> > >> > > >> > >> > > >> > >> > -- > >> > >> > Thanks > >> > >> > /Dishara > >> > >> > > >> > >> > >> > > > >> > > > >> > > > >> > > -- > >> > > Thanks > >> > > /Dishara > >> > > > >> > > >> > > >> > > >> > -- > >> > Thanks > >> > /Dishara > >> > > >> > > > > > > > > -- > > Thanks > > /Dishara > > > > > > -- > Thanks > /Dishara >
