diff --git a/.gitignore b/.gitignore index 3c612020a..c5051daa2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ **/build/* **/dist/* *~ +/airtime_mvc/tests/test_results.xml +/tests/results.html +/tests/*.jar diff --git a/airtime_mvc/application/services/ShowService.php b/airtime_mvc/application/services/ShowService.php index 198673cd4..362f3a327 100644 --- a/airtime_mvc/application/services/ShowService.php +++ b/airtime_mvc/application/services/ShowService.php @@ -142,16 +142,14 @@ class Application_Service_ShowService $ccShowInstance->updateDbTimeFilled($con); $ccShowInstance->updateScheduleStatus($con); $ccShowInstance - ->setDbDescription($showData['add_show_instance_description']) - ->save(); - - + ->setDbDescription($showData['add_show_instance_description']) + ->save(); //delete the edited instance from the repeating sequence $ccShowInstanceOrig - ->setDbModifiedInstance(true) - ->setDbDescription($showData['add_show_instance_description']) - ->save(); + ->setDbModifiedInstance(true) + ->setDbDescription($showData['add_show_instance_description']) + ->save(); $con->commit(); Application_Model_RabbitMq::PushSchedule(); @@ -206,16 +204,16 @@ class Application_Service_ShowService $daysAdded = array(); if ($this->isUpdate) { - - $showId = $this->ccShow->getDbId(); - - // Only delete the previous logo if a new one is being uploaded - if (array_key_exists("add_show_logo_name", $showData) && $showData["add_show_logo_name"] !== "") { - if (!Rest_ShowController::deleteShowImagesFromStor($showId)) { - throw new Exception("Error deleting show images"); - } - } - + + $showId = $this->ccShow->getDbId(); + + // Only delete the previous logo if a new one is being uploaded + if (array_key_exists("add_show_logo_name", $showData) && $showData["add_show_logo_name"] !== "") { + if (!Rest_ShowController::deleteShowImagesFromStor($showId)) { + throw new Exception("Error deleting show images"); + } + } + if (!$this->ccShow->getCcShowDayss()->isEmpty()) { $this->storeOrigLocalShowInfo(); } @@ -604,17 +602,17 @@ SQL; $currentShowEndDateTime = $this->getRepeatingEndDate(); if ($endDateTime && $currentShowEndDateTime != $endDateTime) { - $endDate = clone $endDateTime; - $endDate->setTimezone(new DateTimeZone("UTC")); - + $endDate = clone $endDateTime; + $endDate->setTimezone(new DateTimeZone("UTC")); + //show's "No End" option was toggled //or the end date comes earlier if (is_null($currentShowEndDateTime) || ($endDateTime < $currentShowEndDateTime)) { //"No End" option was unchecked so we need to delete the //repeat instances that are scheduled after the new end date //OR - //end date was pushed back so we have to delete any - //instances of this show scheduled after the new end date + //end date was pushed back so we have to delete any + //instances of this show scheduled after the new end date $this->deleteInstancesFromDate($endDate->format("Y-m-d"), $showId); } } @@ -661,10 +659,10 @@ SQL; $date = null; if ($query !== false && isset($query["last_show"])) { - $date = new DateTime( - $query["last_show"], - new DateTimeZone($query["timezone"]) - ); + $date = new DateTime( + $query["last_show"], + new DateTimeZone($query["timezone"]) + ); } return $date; @@ -752,7 +750,7 @@ SQL; $con = Propel::getConnection(); $con->beginTransaction(); try { - + if (!$currentUser->isAdminOrPM()) { throw new Exception("Permission denied"); } @@ -765,10 +763,10 @@ SQL; // Delete show images $showId = $ccShowInstance->getDbShowId(); - if (!Rest_ShowController::deleteShowImagesFromStor($showId)) { - throw new Exception("Error deleting show images"); - } - + if (!Rest_ShowController::deleteShowImagesFromStor($showId)) { + throw new Exception("Error deleting show images"); + } + if ($singleInstance) { $ccShowInstances = array($ccShowInstance); } else { @@ -957,23 +955,23 @@ SQL; */ private function calculateEndDate($showData) { - //if no end return null + //if no end return null if ($showData['add_show_no_end']) { $endDate = null; } //if the show is repeating & ends, then return the end date elseif ($showData['add_show_repeats']) { $endDate = new DateTime( - $showData['add_show_end_date'], - new DateTimeZone($showData["add_show_timezone"]) + $showData['add_show_end_date'], + new DateTimeZone($showData["add_show_timezone"]) ); $endDate->add(new DateInterval("P1D")); } //the show doesn't repeat, so add one day to the start date. else { $endDate = new DateTime( - $showData['add_show_start_date'], - new DateTimeZone($showData["add_show_timezone"]) + $showData['add_show_start_date'], + new DateTimeZone($showData["add_show_timezone"]) ); $endDate->add(new DateInterval("P1D")); } @@ -1143,11 +1141,11 @@ SQL; $repeatInterval, $populateUntil); if ($last_show) { - $utcLastShowDateTime = new DateTime($last_show, new DateTimeZone($timezone)); - $utcLastShowDateTime->setTimezone(new DateTimeZone("UTC")); + $utcLastShowDateTime = new DateTime($last_show, new DateTimeZone($timezone)); + $utcLastShowDateTime->setTimezone(new DateTimeZone("UTC")); } else { - $utcLastShowDateTime = null; + $utcLastShowDateTime = null; } $previousDate = clone $start; @@ -1243,12 +1241,12 @@ SQL; $this->repeatType = $showDay->getDbRepeatType(); - if ($last_show) { - $utcLastShowDateTime = new DateTime($last_show, new DateTimeZone($timezone)); - $utcLastShowDateTime->setTimezone(new DateTimeZone("UTC")); + if ($last_show) { + $utcLastShowDateTime = new DateTime($last_show, new DateTimeZone($timezone)); + $utcLastShowDateTime->setTimezone(new DateTimeZone("UTC")); } else { - $utcLastShowDateTime = null; + $utcLastShowDateTime = null; } while ($start->getTimestamp() < $end->getTimestamp()) { @@ -1571,8 +1569,8 @@ SQL; $showId = $this->ccShow->getDbId(); $startDateTime = new DateTime( - $showData['add_show_start_date']." ".$showData['add_show_start_time'], - new DateTimeZone($showData['add_show_timezone']) + $showData['add_show_start_date']." ".$showData['add_show_start_time'], + new DateTimeZone($showData['add_show_timezone']) ); $endDateTime = $this->calculateEndDate($showData); @@ -1580,7 +1578,7 @@ SQL; $endDate = $endDateTime->format("Y-m-d"); } else { - $endDate = null; + $endDate = null; } //Our calculated start DOW must be used for non repeating since a day has not been selected. diff --git a/airtime_mvc/tests/application/helpers/TestHelper.php b/airtime_mvc/tests/application/helpers/TestHelper.php index c33103f8e..43ce6d151 100644 --- a/airtime_mvc/tests/application/helpers/TestHelper.php +++ b/airtime_mvc/tests/application/helpers/TestHelper.php @@ -84,6 +84,21 @@ class TestHelper //Now that cc_files is empty, clearing cc_music_dirs should work $sql = "DELETE FROM cc_music_dirs"; AirtimeInstall::InstallQuery($sql, false); + + // Because files are stored relative to their watch directory, + // we need to set the "stor" path before we can successfully + // create a fake file in the database. + //Copy paste from airtime-db-install.php: + $stor_dir = "/tmp"; + $con = Propel::getConnection(); + $sql = "INSERT INTO cc_music_dirs (directory, type) VALUES ('$stor_dir', 'stor')"; + try { + $con->exec($sql); + } catch (Exception $e) { + echo " * Failed inserting {$stor_dir} in cc_music_dirs".PHP_EOL; + echo " * Message {$e->getMessage()}".PHP_EOL; + return false; + } $con->commit(); diff --git a/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml b/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml index a3b746711..fb23e1552 100644 --- a/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml +++ b/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 + diff --git a/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php b/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php index 63bc8b283..ce9894e34 100644 --- a/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php +++ b/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php @@ -48,22 +48,9 @@ class ScheduleUnitTest extends Zend_Test_PHPUnit_ControllerTestCase //PHPUnit_Fr //$showService->setCcShow($testShowData); //Denise says this is not needed. $showService->addUpdateShow($testShowData); //Create show instances - // Because files are stored relative to their watch directory, - // we need to set the "stor" path before we can successfully - // create a fake file in the database. - //Copy paste from airtime-db-install.php: - $stor_dir = "/tmp"; - $con = Propel::getConnection(); - $sql = "INSERT INTO cc_music_dirs (directory, type) VALUES ('$stor_dir', 'stor')"; - try { - $con->exec($sql); - } catch (Exception $e) { - echo " * Failed inserting {$stor_dir} in cc_music_dirs".PHP_EOL; - echo " * Message {$e->getMessage()}".PHP_EOL; - return false; - } - - // Insert a fake file into the database + // Moved creation of stor directory to TestHelper for setup + + // Insert a fake file into the database $request = $this->getRequest(); $params = $request->getParams(); $params['action'] = ''; diff --git a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php index e8c03a57c..9312e13be 100644 --- a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php +++ b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php @@ -285,6 +285,7 @@ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase $ds = new Zend_Test_PHPUnit_Db_DataSet_QueryDataSet( $this->getConnection() ); + $ds->addTable('cc_show', 'select * from cc_show'); $ds->addTable('cc_show_days', 'select * from cc_show_days'); $ds->addTable('cc_show_instances', 'select id, starts, ends, show_id, record, rebroadcast, instance_id, modified_instance from cc_show_instances order by id'); diff --git a/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml b/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml index d790f8985..c866063f4 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 + - + \ No newline at end of file diff --git a/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml index 3de4e16d9..28180dd25 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 1 + diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml index 7432957b5..979575fc0 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml index 871729009..53cf9422a 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 1 +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml index b2140cdfd..e99c9ecd5 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml index 69b6a471e..bff7a06e8 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml index dc49416a0..b37d12698 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml index d58ada9f5..9022cd498 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml index 854af10eb..7738847e7 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml index 2eb7e2b75..12c001104 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml index b6a7c709b..67492eb87 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml index b29bb7388..a902bc82d 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml index 108680979..1f8cdbd01 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml index cdf4f2e37..96f21c7bc 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml index 20c281c17..6d7993fa1 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml index 860e77eaa..b36c46803 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml index 3de4e16d9..28180dd25 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ 1 1 +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml b/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml index d5f6ea36d..5cccbf4dc 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml index 27551bbc7..d46e29b8e 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,6 +29,7 @@ +
diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml index 9e65db067..dbe08fc1e 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml @@ -14,6 +14,7 @@ live_stream_pass linked is_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + - + id diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml index d1522d546..ff6d7e462 100644 --- a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml +++ b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml @@ -14,6 +14,7 @@ live_stream_passlinkedis_linkable + image_path 1 test show @@ -28,8 +29,9 @@ 1 + -
+ id diff --git a/airtime_mvc/tests/application/testdata/ShowServiceData.php b/airtime_mvc/tests/application/testdata/ShowServiceData.php index 8bd1919a3..445f775e0 100644 --- a/airtime_mvc/tests/application/testdata/ShowServiceData.php +++ b/airtime_mvc/tests/application/testdata/ShowServiceData.php @@ -243,6 +243,7 @@ Class ShowServiceData "add_show_id" => 1, "add_show_instance_id" => 2, "add_show_name" => "test show", + "add_show_instance_description" => "", "add_show_url" => null, "add_show_genre" => null, "add_show_description" => null,