            ReadMe for ohMediaPlayer integration tests
            ------------------------------------------

Required Dependencies
---------------------

    - python 2.7 (NOT python 3.x)
        - https://www.python.org/downloads/

    - pycrypto (for credentials service encryption handling)
        - https://www.dlitz.net/software/pycrypto/
            - windows installers - http://www.voidspace.org.uk/python/modules.shtml#pycrypto
            - mac   - sudo easy_install pip
                    - sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto

    - python for Windows Extensions (if running on Windows)
        http://sourceforge.net/projects/pywin32/files/pywin32/

    - iTunes (for Airplay tests) - running on local machine, session key setup in Config.xml

    - access to UPnP media server with necessary files/playlists (for tests using
        UPnP media server to serve the test data [audio] files)


    Configuration file
    ------------------

        XML file required to specify various setup specifics:
            - .testconfig.xml
            - in %HOMEPATH% directory (Windows)
            - in $HOME directory (Unix/OSX)
            - over-ride file name and location with FUNCTEST_CONFIG environment variable

        This should be kept local as may contain 'sensitive' information
        Example in Appendix A


Test and Suite Execution
------------------------

    Tests and Suites are executed from command prompt. Execute without any
    parameters to get help screen. The parameters required (depending on
    test/suite being executed) are:

        DUT name:
             UPnP friendly name of the device-under-test (eg. SoftPlayer:Softplayer)

        UPnP Media Server:
            UPnP friendly name of media server to use  (eg: "Asset UPnP: PC887")

        Playlist name:
            Name of playlist to use from UPnP media server

    NOTE/
        Examples of parameters can be seen in SuiteXXX.py test suites




Appendix A - example .testconfig.xml

<!-- Configuration file for integration test execution on PCxxx

This is a LOCAL file and MUST NOT be committed to any public repo as it
contains sensitive data such as streaming services IDs/users/passwords
-->

<configuration>
    <!-- can use IP or MAC address to identify network -->
    <!-- <network>192.168.1.45</network>  -->
    <network>C3:5D:C7:77:4F:98</network>

	<softplayer>
	    <adapter>0</adapter>
	</softplayer>

	<mediaserver>
		<name>FuncTest</name>
	</mediaserver>

	<itunes>
		<guid>0x72BACB5960D05C88</guid>
		<library>Xxx Library</library>
		<address>192.168.1.45</address>
		<track1k>Stereo1kHz-441-16-0dB-72m</track1k>
	</itunes>

	<tunein>
		<partnerid>1234</partnerid>
		<user>
			<list1>test1</list1>
			<list1>user3456</list1>
		</user>
	</tunein>

	<tidal>
		<id>123</id>
		<user>user</user>
		<password>4567</password>
	</tidal>

	<qobuz>
		<id>123</id>
		<secret>456</secret>
		<user>userX</user>
		<password>passX</password>
	</qobuz>

	<playlist>
		<encodings>Playlists  ~Encodings-ALLCodecs</encodings>
		<mixed>Playlists  ~Mixed-ALLCodecs</mixed>
		<albums>Playlists  ~5TrackAlbums</albums>
	</playlist>
</configuration>
