wzr1337 / rsi.server

This project implements the Volkswagen Infotainment Web Interface as published under https://www.w3.org/Submission/2016/01/. The viwi is now called RESTful service interface (rsi)
MIT License
62 stars 18 forks source link

How to test rsiServer with client and plugins? #47

Closed wonsuk73 closed 7 years ago

wonsuk73 commented 7 years ago

I have installed rsi server. but I couldn't find the way how to test it with client as well as test for plug-in service. Is there any guide for potential contributors from outside?

wzr1337 commented 7 years ago

Hi Wonsuk,

you will need to install the plugins as git sub modules. Did you do that? Did it work?

You can clone with the --recursive flag set, that should clone the sub modules for you too.

Regarding client: there are just the tests in the repo for now. We are actually missing a reference client so far.. android, iOS , web.. would be happy seeing support here :)

anawhj commented 7 years ago

In .gitmodules file, I could find the description of git submodules, but it seems not to work. So I tried to clone a couple of sub modules manually in src/plugins, and install/build/run the server. After that, I can see green logs that describe the plugins(media and medialibrary) have been successfully registered in the RSI server so that I can send requests(HTTP/WebSocket) and get responses as a JSON format. Some reference that can be used as request queries could be found in the viwi.service.media document.

In addition, I noticed a misspelling at the git clone command in README.md as follows:

I briefly looked into the documents from VW's submissions. I think we need to define the scope that needs standardization as a first step, while we proceed to understand the RSI architecture and discuss with some issues.

wonsuk73 commented 7 years ago

@wzr1337, I did install sub modules after I read @anawhj 's post of this thread. Thanks @anawhj !! After that I made a simple client using code in README.md. I got the result as below in server side. I seems it work correctly. right?

2017-07-28T09:31:58.136Z - debug: [rsiWebSocket] rsiWebSocket.acknowledgeSubscription(): /media/renderers/d6ebfd90-d2c1-11e6-9376-df943f51f0d8
2017-07-28T09:31:58.137Z - debug: [rsiWebSocket] rsiWebSocket._send(): 
{ type: 'subscribe',
  status: 'ok',
  event: '/media/renderers/d6ebfd90-d2c1-11e6-9376-df943f51f0d8' }
2017-07-28T09:31:58.141Z - debug: [rsiWebSocket] rsiWebSocket.sendData(): /media/renderers/d6ebfd90-d2c1-11e6-9376-df943f51f0d8
2017-07-28T09:31:58.141Z - debug: [rsiWebSocket] rsiWebSocket._send(): 
{ type: 'data',
  status: 'ok',
  event: '/media/renderers/d6ebfd90-d2c1-11e6-9376-df943f51f0d8',
  data: 
   { uri: '/media/renderers/d6ebfd90-d2c1-11e6-9376-df943f51f0d8',
     id: 'd6ebfd90-d2c1-11e6-9376-df943f51f0d8',
     name: 'Netflux',
     state: 'idle',
     shuffle: 'off',
     repeat: 'off',
     offset: 0,
     media: 'initialCollection' } }
wzr1337 commented 7 years ago

That looks perfectly fine! Cool

I will work on the 'non working sub module' issue asap

Finally I want to get away from submodules.. because they do not perfectly fit our needs do - as you can see - do not work smoothly

wonsuk73 commented 7 years ago

@wzr1337 Got it! 👍

wzr1337 commented 7 years ago

@anawhj I just fixed the typo, Thanks for the hint..

Closing because of : resolved ;)