From cad778db46f75d10861c45d792f495d7ec24bd1a Mon Sep 17 00:00:00 2001 From: Mark Cottman-Fields Date: Fri, 8 Feb 2013 17:16:26 +1000 Subject: [PATCH] Created tests for SavedSearch date filter. modified: app/models/audio_recording.rb new file: lib/external/diagram.png modified: lib/search.rb modified: spec/requests/REST_routes_tests.rb new file: spec/requests/saved_search_request_spec.rb modified: spec/support/analysis_script_helper.rb --- app/models/audio_recording.rb | 70 ++++++-- lib/external/diagram.png | Bin 0 -> 222931 bytes lib/search.rb | 328 +++++++++++++++++++++++----------- 3 files changed, 278 insertions(+), 120 deletions(-) create mode 100644 lib/external/diagram.png diff --git a/app/models/audio_recording.rb b/app/models/audio_recording.rb index cc7255a1..363f1115 100644 --- a/app/models/audio_recording.rb +++ b/app/models/audio_recording.rb @@ -29,16 +29,16 @@ class AudioRecording < ActiveRecord::Base validates_as_paranoid #enums - AVAILABLE_STATUSES = [:new, :to_check, :ready, :corrupt, :ignore].map{ |item| item.to_s } + AVAILABLE_STATUSES = [:new, :to_check, :ready, :corrupt, :ignore].map { |item| item.to_s } enumerize :status, in: AVAILABLE_STATUSES, predicates: true validates :status, :inclusion => {in: AVAILABLE_STATUSES}, :presence => true # validation - validates :uuid, :presence => true, :length => {:is => 36}, :uniqueness => { :case_sensitive => false } + validates :uuid, :presence => true, :length => {:is => 36}, :uniqueness => {:case_sensitive => false} validates :uploader_id, :presence => true - - validates :recorded_date, :presence => true, :timeliness => {:on_or_before => lambda { Date.current }, :type => :date } + + validates :recorded_date, :presence => true, :timeliness => {:on_or_before => lambda { Date.current }, :type => :date} validates :site, :presence => true validates :duration_seconds, :presence => true, :numericality => {greater_than_or_equal_to: 0} @@ -46,15 +46,14 @@ class AudioRecording < ActiveRecord::Base # the channels field encodes our special version of a bit flag. 0 (no bits flipped) represents # a mix down option - we don't store mix downs (if we did they would be stored as single channel / mono (value = 1)) - validates :channels, :presence => true, :numericality => { :only_integer => true, :greater_than => 0 } - validates :bit_rate_bps, :numericality => { :only_integer => true, :greater_than_or_equal_to => 0 } + validates :channels, :presence => true, :numericality => {:only_integer => true, :greater_than => 0} + validates :bit_rate_bps, :numericality => {:only_integer => true, :greater_than_or_equal_to => 0} validates :media_type, :presence => true - validates :data_length_bytes, :presence => true, :numericality => { :only_integer => true, :greater_than_or_equal_to => 0 } + validates :data_length_bytes, :presence => true, :numericality => {:only_integer => true, :greater_than_or_equal_to => 0} validates :file_hash, :presence => true - # uuid stuff attr_protected :uuid include UUIDHelper @@ -72,30 +71,41 @@ def status=(new_status) #scope :recordings_from_projects, lambda { |project_ids| joins(:site) } #scope :filter_by_branch, lambda{|branch_id| includes(:branches).where(:branches => {:id => branch_id}) - # these need ot be left outer joins. includes should do this, ut does not. + # these need to be left outer joins. includes should do this, but does not. # use joins with the join in sql text :( # http://guides.rubyonrails.org/active_record_querying.html#specifying-conditions-on-eager-loaded-associations def self.recording_projects(project_ids) - includes(:site => :projects).where(:projects => { :id => project_ids}) + includes(:site => :projects).where(:projects => {:id => project_ids}) end def self.recording_sites(site_ids) - includes(:site).where(:sites => { :id => site_ids }) + includes(:site).where(:sites => {:id => site_ids}) end - def self.recordings(recording_ids) + def self.recording_ids(recording_ids) where(:id => recording_ids) end + def self.recording_uuids(recording_ids) + where(:uuid => recording_ids) + end + # only one of these can be included. def self.recording_within_date(start_date, end_date) rel_query = scoped - if start_date.is_a?(Time) - rel_query = rel_query.where('recorded_date + duration_seconds >= :start_date', {:start_date => start_date}) + if start_date.kind_of?(DateTime) + sqlite_calculation = "datetime(recorded_date, '+' || duration_seconds || ' seconds') >= :start_date" + formatted_start_date = start_date.utc.midnight.strftime('%Y-%m-%d %H:%M:%S') + rel_query = rel_query.where(sqlite_calculation, {:start_date => formatted_start_date}) + else + raise ArgumentError, "Expected start_date to be a DateTime, given #{start_date.class} type." end - if end_date.is_a?(Time) - rel_query = rel_query.where('recorded_date <= :end_date', {:end_date => end_date}) + if end_date.kind_of?(DateTime) + formatted_end_date = end_date.utc.advance({days: 1}).midnight.strftime('%Y-%m-%d %H:%M:%S') + rel_query = rel_query.where('recorded_date < :end_date', {:end_date => formatted_end_date}) + else + raise ArgumentError, "Expected end_date to be a DateTime, given #{start_date.class} type." end rel_query @@ -112,7 +122,33 @@ def self.recording_tags(tags) end def self.recording_time_ranges(time_ranges) - scoped + raise ArgumentError, "Expected time ranges to be an array, got #{time_ranges.class} instead." unless time_ranges.kind_of?(Array) + + rel_query = scoped + + time_ranges.each do |range| + range_start = range[0] + range_end = range[1] + + formatted_start_time = range_start.utc.strftime('%H:%M:%S') + formatted_end_time = range_end.utc.strftime('%H:%M:%S') + + if range_start < range_end + # if start is less than end, the range is within one day + sqlite_calculation = "datetime(recorded_date, '+' || duration_seconds || ' seconds') >= :start_date" + rel_query.where(sqlite_calculation, {range_start: formatted_start_time, range_end: formatted_end_time}) + + elsif range_start > range_end + # if start is greater than end, the range goes over midnight (2 days) + + else + # start and end are equal, ignore this range + + end + + end + + rel_query end private diff --git a/lib/external/diagram.png b/lib/external/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c58017a497266935956b379d219d1c2ec4c1ce GIT binary patch literal 222931 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
KBK^i|eP6_K^#Cw1a>? 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%0DY0N&AS2U}R!UQ1N5skJM(W#%$%Qyr%U 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 literal 0 HcmV?d00001 diff --git a/lib/search.rb b/lib/search.rb index 598f5e36..a9879f1c 100644 --- a/lib/search.rb +++ b/lib/search.rb @@ -1,53 +1,70 @@ +require 'uuidtools' + class Search # example: # test = Search.new( { :pre => { :created_by_id => 1 }, :body => { :project_ids => [1,2,3,4] } } ) + # does not store/cache results. Should it? + attr_accessor :pre_params, :body_params, :post_params def initialize(parameters = {}) if parameters.include? :pre_params @pre_params = SearchPre.new parameters[:pre_params] + parameters.except!(:pre_params) else @pre_params = SearchPre.new end if parameters.include? :body_params @body_params = SearchBody.new parameters[:body_params] + parameters.except!(:body_params) else @body_params = SearchBody.new end if parameters.include? :post_params @post_params = SearchPost.new parameters[:post_params] + parameters.except!(:post_params) else @post_params = SearchPost.new end + + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 end - # create a query using the state of this Search instance. + # create query with deterministic ordering def create_query + create_raw_query.select('audio_recordings.id, audio_recordings.uuid').order('audio_recordings.recorded_date') + end + + # create a query using the state of this Search instance. + def create_raw_query if @body_params.blank? recordings_search = AudioRecording.scoped else recordings_search = AudioRecording.scoped + # these are in a specific order, from the ones that will filter the most, to those that will filter the least. + recordings_search = recordings_search.recording_ids(@body_params.audio_recording_ids) if @body_params.audio_recording_ids + recordings_search = recordings_search.recording_uuids(@body_params.audio_recording_uuids) if @body_params.audio_recording_uuids + recordings_search = recordings_search.recording_projects(@body_params.project_ids) if @body_params.project_ids recordings_search = recordings_search.recording_sites(@body_params.site_ids) if @body_params.site_ids - recordings_search = recordings_search.recordings(@body_params.audio_recording_ids) if @body_params.audio_recording_ids recordings_search = recordings_search.recording_tags(@body_params.tags) if @body_params.tags - recordings_search = recordings_search.recording_time_ranges(@body_params.time_ranges) if @body_params.time_ranges if @body_params.date_start && @body_params.date_end recordings_search = recordings_search.recording_within_date(@body_params.date_start, @body_params.date_end) elsif @body_params.date_start - recordings_search = recordings_search.recording_within_date(@body_params.date_start,@body_params.date_start) + recordings_search = recordings_search.recording_within_date(@body_params.date_start, @body_params.date_start) elsif @body_params.date_end - recordings_search = recordings_search.recording_within_date(@body_params.date_end,@body_params.date_end) + recordings_search = recordings_search.recording_within_date(@body_params.date_end, @body_params.date_end) end + recordings_search = recordings_search.recording_time_ranges(@body_params.time_ranges) if @body_params.time_ranges end recordings_search @@ -55,146 +72,251 @@ def create_query # execute a query to get the dataset def execute_query - the_query = create_query.select('audio_recordings.id').order('audio_recordings.recorded_date') - results = the_query.all.collect{ |result| DataSetItem.new({ :audio_recording_id => result.id }) } - DataSet.new({ :search => self, :query => the_query, :items => results }) + the_query = create_query + + #to do: start and end offsets + results = the_query.all.collect { |result| DataSetItem.new({id: result.id, uuid: result.uuid}) } + DataSet.new({:search => self, :query => the_query, :items => results}) end +end - class SearchPre +class SearchPre - attr_accessor :created_by_id, :is_temporary + attr_accessor :created_by_id, :is_temporary - def initialize(parameters = {}) - if parameters.include? :created_by_id - @created_by_id = parameters[:created_by_id] - end + def initialize(parameters = {}) + if parameters.include? :created_by_id + @created_by_id = SearchShared::check_id(parameters[:created_by_id]) + parameters.except!(:created_by_id) + end - if parameters.include? :is_temporary - @is_temporary = parameters[:is_temporary] - end + if parameters.include? :is_temporary + @is_temporary = SearchShared::check_bool(parameters[:is_temporary]) + parameters.except!(:is_temporary) end + + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 end +end + +class SearchBody + # attr_accessor is a convenience method to autogenerate getters and setters + # location (one lat/long point) + attr_accessor :geo_latitude, :geo_longitude, + # these attributes are an array of ids (0 or more ids) + :project_ids, :site_ids, :audio_recording_ids, :audio_recording_uuids, + # date range (zero or one) + :date_start, :date_end, + # time segments: array of array of start and end offsets from midnight (0 - 1440) [[start,end],[start,end]] + :time_ranges, + # tags is a hash of the tag text, to an array of the tag classes that are allowed. + # eg. { 'tag text' => [:sounds_like, :looks_like, :species_name, :common_name], ... } + :tags - class SearchBody - # attr_accessor is a convenience method to autogenerate getters and setters - # location (one lat/long point) - attr_accessor :geo_latitude, :geo_longitude, - # these attributes are an array of ids (0 or more ids) - :project_ids, :site_ids, :audio_recording_ids, - # date range (zero or one) - :date_start, :date_end, - # time segments: array of array of start and end offsets from midnight (0 - 1440) [[start,end],[start,end]] - :time_ranges, - # tags is a hash of the tag text, to an array of the tag classes that are allowed. - # eg. { 'tag text' => [:sounds_like, :looks_like, :species_name, :common_name], ... } - :tags - - def initialize(parameters = {}) - if parameters.include? :geo_latitude - @geo_latitude = parameters[:geo_latitude] - end + def initialize(parameters = {}) - if parameters.include? :geo_longitude - @geo_longitude = parameters[:geo_longitude] - end + if parameters.include? :geo_latitude + @geo_latitude = SearchShared::check_decimal(parameters[:geo_latitude]) + parameters.except!(:geo_latitude) + end - if parameters.include? :project_ids - @project_ids = parameters[:project_ids] - end + if parameters.include? :geo_longitude + @geo_longitude = SearchShared::check_decimal(parameters[:geo_longitude]) + parameters.except!(:geo_longitude) + end - if parameters.include? :site_ids - @site_ids = parameters[:site_ids] - end + if parameters.include? :project_ids + SearchShared::check_ids(parameters[:project_ids]) + @project_ids = parameters[:project_ids] + parameters.except!(:project_ids) + end - if parameters.include? :audio_recording_ids - @audio_recording_ids = parameters[:audio_recording_ids] - end + if parameters.include? :site_ids + @site_ids = SearchShared::check_ids(parameters[:site_ids]) + parameters.except!(:site_ids) + end - if parameters.include? :date_start - @date_start = parameters[:date_start] - end + if parameters.include? :audio_recording_ids + @audio_recording_ids = SearchShared::check_ids(parameters[:audio_recording_ids]) + parameters.except!(:audio_recording_ids) + end - if parameters.include? :date_end - @date_end = parameters[:date_end] - end + if parameters.include? :audio_recording_uuids + @audio_recording_uuids = SearchShared::check_uuids(parameters[:audio_recording_uuids]) + parameters.except!(:audio_recording_uuids) + end - if parameters.include? :time_ranges - @time_ranges = parameters[:time_ranges] - end + if parameters.include? :date_start + @date_start = SearchShared::check_date(parameters[:date_start]) + parameters.except!(:date_start) + end - if parameters.include? :tags - @tags = parameters[:tags] + if parameters.include? :date_end + @date_end = SearchShared::check_date(parameters[:date_end]) + if !@date_start.blank? && @date_end < @date_start + raise ArgumentError, "Start date (#{@date_start}) must be less than end date (#{@date_end}). " end + parameters.except!(:date_end) + end + + if parameters.include? :time_ranges + @time_ranges = SearchShared::check_time_range(parameters[:time_ranges]) + parameters.except!(:time_ranges) + end + + if parameters.include? :tags + @tags = parameters[:tags] + parameters.except!(:tags) end + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 end - class SearchPost +end - attr_accessor :display_tags_species, :display_tags_common, - :display_tags_looks_like, :display_tags_sounds_like, - :display_tags_reference, :display_tags_auto +class SearchPost - def initialize(parameters = {}) - if parameters.include? :display_tags_species - @display_tags_species = parameters[:display_tags_species] - end + attr_accessor :display_tags_species, :display_tags_common, + :display_tags_looks_like, :display_tags_sounds_like, + :display_tags_reference, :display_tags_auto - if parameters.include? :display_tags_common - @display_tags_common = parameters[:display_tags_common] - end + def initialize(parameters = {}) + if parameters.include? :display_tags_species + @display_tags_species = parameters[:display_tags_species] + parameters.except!(:display_tags_species) + end - if parameters.include? :display_tags_looks_like - @display_tags_looks_like = parameters[:display_tags_looks_like] - end + if parameters.include? :display_tags_common + @display_tags_common = parameters[:display_tags_common] + parameters.except!(:display_tags_common) + end - if parameters.include? :display_tags_sounds_like - @display_tags_sounds_like = parameters[:display_tags_sounds_like] - end + if parameters.include? :display_tags_looks_like + @display_tags_looks_like = parameters[:display_tags_looks_like] + parameters.except!(:display_tags_looks_like) + end - if parameters.include? :display_tags_reference - @display_tags_reference = parameters[:display_tags_reference] - end + if parameters.include? :display_tags_sounds_like + @display_tags_sounds_like = parameters[:display_tags_sounds_like] + parameters.except!(:display_tags_sounds_like) + end - if parameters.include? :display_tags_auto - @display_tags_auto = parameters[:display_tags_auto] - end + if parameters.include? :display_tags_reference + @display_tags_reference = parameters[:display_tags_reference] + parameters.except!(:display_tags_reference) end + + if parameters.include? :display_tags_auto + @display_tags_auto = parameters[:display_tags_auto] + parameters.except!(:display_tags_auto) + end + + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 end +end - class DataSet - attr_accessor :search, :query, :items +class DataSet + attr_accessor :search, :query, :items - def initialize(parameters = {}) - if parameters.include? :search - @search = parameters[:search] - end + def initialize(parameters = {}) + if parameters.include? :search + @search = parameters[:search] + parameters.except!(:search) + end - if parameters.include? :query - @query = parameters[:query] - end + if parameters.include? :query + @query = parameters[:query] + parameters.except!(:query) + end - if parameters.include? :items - @items = parameters[:items] - end + if parameters.include? :items + @items = parameters[:items] + parameters.except!(:items) end + + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 end +end - class DataSetItem - attr_accessor :audio_recording_id, :start_offset_seconds, :end_offset_seconds +class DataSetItem + attr_accessor :id, :uuid, :start_offset_seconds, :end_offset_seconds - def initialize(parameters = {}) - if parameters.include? :audio_recording_id - @audio_recording_id = parameters[:audio_recording_id] - end + def initialize(parameters = {}) + if parameters.include? :id + @id = SearchShared::check_id(parameters[:id]) + parameters.except!(:id) + end + + if parameters.include? :uuid + @uuid = SearchShared::check_uuid(parameters[:uuid]) + parameters.except!(:uuid) + end - if parameters.include? :start_offset_seconds - @start_offset_seconds = parameters[:start_offset_seconds] + if parameters.include? :start_offset_seconds + @start_offset_seconds = SearchShared::check_decimal(parameters[:start_offset_seconds]) + parameters.except!(:start_offset_seconds) + end + + if parameters.include? :end_offset_seconds + @end_offset_seconds = SearchShared::check_decimal(parameters[:end_offset_seconds]) + parameters.except!(:end_offset_seconds) + end + + raise "Unexpected parameter(s) given: #{parameters.inspect}." if parameters.size > 0 + end +end + +class SearchShared + + def self.check_id(id) + check_ids([id]).first + end + + def self.check_ids(id_array) + raise "Not an array: #{id_array.inspect}" unless id_array.kind_of?(Array) + + bad_ids = [] + id_array.uniq.select! do |item| + if item < 1 || !item.kind_of?(Numeric) + bad_ids.push(item) + false + else + true end + end + + raise ArgumentError, "Invalid ids given: #{bad_ids.inspect}" if bad_ids.size > 0 + id_array + end + + def self.check_uuid(uuid) + check_uuids([uuid]).first + end - if parameters.include? :end_offset_seconds - @end_offset_seconds = parameters[:end_offset_seconds] + def self.check_uuids(uuid_array) + raise "Not an array: #{uuid_array.inspect}" unless uuid_array.kind_of?(Array) + + bad_uuids = [] + uuid_array.uniq.select! do |item| + is_ok = true + begin + UUIDTools::UUID.parse(item) + rescue ArgumentError => e + bad_uuids.push(item) + is_ok = false end + is_ok end + + raise ArgumentError, "Invalid uuids given: #{bad_uuids.inspect}" if bad_uuids.size > 0 + uuid_array + end + + def self.check_date(date) + date + end + + def self.check_time_range(time_range) + time_range end end \ No newline at end of file